Tag: java metro framework

在Java 1.5中编译WS客户端 – 缺少类似WebService的注释

我正在开发一个应用程序,它应该作为Web服务的客户端。 我使用wsimport实用程序生成了基于WSDL文件的源文件。 它在我的JDK 1.7开发机器上工作正常(例如它编译并运行良好)。 我甚至无法在测试环境中编译应用程序,我有JDK 1.5。 我得到了一堆如下错误: Cannot find symbol: class WebMethod 怀疑问题是JDK的较小版本。 我该怎么做才能解决这个问题,例如更新应用程序以使其与Java 1.5兼容? 它必须运行独立的控制台应用程序。

用JAXB保持干爽

我正在开发许多必须按以下格式序列化为XML的Java类: 一开始, Foo.java看起来像这样: @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) class Foo { @XmlAttribute String value; // snip constructors // snip methods // getValue // equals, hashCode, toString // static valueOf(String), static valueOf(int) } 猜测Bar.java和Baz.java可能是什么Bar.java并不需要太多想象力。 这些是非常简单的包装类(在本例中为int , String和boolean 。 到目前为止,一切都是笨拙的。 写完第九轮之后 class WhoCares { @XmlAttribute Whatever value; /* 2 constructors */ /* 6 methods found in every one of these […]

JAXB以不同的方式将XML封送到OutputStream和StringWriter

我很抱歉,如果这已经得到解答,但我一直在使用的搜索术语(即JAXB @XmlAttribute压缩或JAXB XML编组到String不同的结果 )没有提出任何建议。 我正在使用JAXB取消/编组使用@XmlElement和@XmlAttribute注释注释的对象。 我有一个格式化程序类,它提供了两个方法 – 一个包装marshal方法并接受对象编组和一个OutputStream ,另一个只接受对象并将XML输出作为String返回。 不幸的是,这些方法不能为相同的对象提供相同的输出。 封送到文件时,内部标有@XmlAttribute简单对象字段打印为: 当编组到一个字符串时,它们是: 我更倾向于两种情况的第二种格式,但我很好奇如何控制差异,并且无论如何都会满足于它们。 我甚至创建了一个静态编组器,两种方法都使用它来消除不同的实例值。 格式代码如下: /** Marker interface for classes which are listed in jaxb.index */ public interface Marshalable {} /** Local exception class */ public class XMLMarshalException extends BaseException {} /** Class which un/marshals objects to XML */ public class XmlFormatter { private static […]

运行时期间使用Metro / JAX-WS / WSIT的WSDL请求

在运行时,JAX-WS获取SOAP端点的WSDL,即使它已经在IDE中运行了wsimport。 此行为如下所示: http : //jax-ws.java.net/faq/index.html#wsdl_at_runtime 客户端在运行时可以检索的元数据量是否有限制? 如果是这样,有没有办法增加这个限制? 请注意,我不是指在IDE中运行wsimport; 工作正常。 我特别谈到在运行时获取WSDL元数据。

如何将JAVAX-WS Endpoint绑定更改为SOAP 1.2?

我正在使用Endpoint.publish()发布测试WS实现,以便在Visual Studio中使用。 根据文档 ,默认的SOAP绑定是1.1 ,并且可以更改绑定,但我无法具体弄清楚如何将绑定更改为1.2 。 任何帮助表示赞赏!

在专有软件中使用Glassfish库

我想在使用CDDL + GPLv2许可证的专有软件中使用Glassfish的某些部分。 我被允许这样做吗? 我没有修改这些库的代码中的任何内容,所以这样可以,或者我的软件,因为它使用这些库,仍然被认为是衍生作品,因此是一个很大的禁忌? 我的意思是,根据http://jaxb.java.net/,JAXB也在CDDL + GPLv2下,但我知道我可以在专有软件中自由使用它。 这是因为CDDL + GPLv2实际上是允许的,还是在与JRE捆绑在一起时以不同的许可证分发?

Webservice – 客户端服务实例化

您知道创建Web服务客户端服务实例的成本是多少? JavaWebService service = new JavaWebService(); SomePort port = service.getJavaWebServicePort(); 创建服务一次,然后在multithreading环境(webapp)中重用相同的端口并不危险? 请注意,端口getPort和端口本身不是线程安全的,但是如果服务成本高昂,每次创建服务时都可能会产生问题。 任何的想法 ? 谢谢

无论是WSDL还是wsimport和wsdl(单声道)都被严重破坏

编辑我从下面给出的例子开始,但我现在有: 尝试了W3C规范的例子。 在修复另一个错误(绑定在一个地方被称为StockQuoteSoapBinding ,另一个被称为StockQuoteSoapBinding )之后,它会产生同样的问题。 试过单声道生成器wsdl来看看wsimport是否应该受到指责。 它给出了一个等价的错误。 所以在我看来,尽管有关于SOAP的所有宣传,它实际上并没有起作用 – 至少不像宣传的那样。 我无法相信没有人通过这些生成器运行最可见的wsdl示例。 原始问题 wsimport在以下wsdl上失败: 附: parsing WSDL… [ERROR] Schema descriptor {http://example/schema/OrdersService}GetOrders in message part “parameters” is not defined and could not be bound to Java. Perhaps the schema descriptor {http://example/schema/OrdersService}GetOrders is not defined in the schema imported/included in the WSDL. You can either add such imports/includes […]

JAX-WS使用WS-Security和WS-Addressing来使用Web服务

我正在尝试使用JAX-WS(Metro)开发独立的Java Web服务客户端,该客户端使用带有用户名令牌身份validation的WS-Security(密码摘要,随机数和时间戳)和时间戳validation以及SSL上的WS-Addressing。 我必须使用的WSDL没有定义任何安全策略信息。 当WSDL不包含此信息时,我无法确切地知道如何添加此标头信息(正确的方法)。 我发现使用Metro的大多数示例都围绕着使用Netbeans从WSDL自动生成,这对我没有任何帮助。 我没有太多的清晰度或方向,已经研究过WSIT,XWSS等。 JBoss WS Metro看起来很有希望,但也有。 任何人都有这方面的经验或有关如何完成此任务的建议? 即使把我指向正确的方向也会有所帮助。 除了必须基于Java之外,我不限于特定技术。

JAX-WS实现包含在Java中?

我有一个JAX-WS Web服务应用程序,它作为Tomcat 7的WAR文件进行部署。它使用最新版本的Metro库,我将其包含在WAR文件中,并且工作正常。 我正在尝试简化部署包。 据我所知,Sun JDK包含Metro的副本(例如,请参阅此问题和此问题 ),但出于某种原因,显然必须将此副本的地铁替换为从glassfish网站下载的地铁。 我试图了解是否有可能只使用Tomcat和JDK附带的城域网实现,或者如果不是为什么不这样做。 WAR内容如下(删除了类文件): META-INF/MANIFEST.MF WEB-INF/classes/ WEB-INF/classes/com/[et cetera] WEB-INF/ibm-web-ext.xml WEB-INF/lib/ WEB-INF/lib/stax-api.jar WEB-INF/lib/webservices-api.jar WEB-INF/lib/webservices-extra-api.jar WEB-INF/lib/webservices-extra.jar WEB-INF/lib/webservices-rt.jar WEB-INF/lib/webservices-tools.jar WEB-INF/sun-jaxws.xml WEB-INF/web.xml wsdl/ wsdl/MyService.wsdl web.xml部分包含: MyService com.sun.xml.ws.transport.http.servlet.WSServlet 当我从WAR中删除webservices- * jars(Metro jar)时,Web服务失败并显示错误“Wrapper找不到servlet类com.sun.xml.ws.transport.http.servlet.WSServlet或类这取决于”。 这并不奇怪,因为我无法在Java 7 SE附带的jar子里找到该类。 那么,如果你必须下载另一份Metro来制作像这样的工作,那么说Java 7附带Metro是什么意思呢? 是否可以仅使用Java附带的jar来在Tomcat中运行JAX-WS Web服务?