Tag: jax ws

wsimport – 如何在单独的项目/文件夹中生成服务端点类和JAXB类

我们对具有多个Web服务(多个WSDL)的项目使用自上而下的方法。 每个Web服务都需要设置为单独的项目,并作为单独的战争部署。 问题是WSDL共享一些常见的.xsd文件。 目前,如果我们为每个WSDL运行wsimport,则每个Web服务项目中都会复制常见的JAXB类。 理想情况下,我们希望在公共共享项目中单独生成JAXB类,然后在每个Web服务项目中重用JAXB类项目,但wsimport不提供跳过JAXB类生成或指定其他位置的选项对于JAXB类。 关于如何在不同的JAX-WS Web服务端点之间共享JAXB类的任何想法?

JAX WS客户端无法进行身份validation

我正在尝试使用标准JAVA 7 JAX WS工具来使用安全(HTTPS模式)Web服务。 此Web服务需要身份validation。 我已经成功将证书添加到我的本地java密钥库。 我借助wsimport工具从WSDL文件生成所有需要的类。 现在我尝试使用以下调用来运行一个简单的测试: public class ReportingWebServiceTest { static ReportingServiceService service; static ReportingService port; @BeforeClass public static void setUpBeforeClass(){ service = new ReportingServiceService(); port = service.getReportingServicePort(); Map rContext = ((BindingProvider) port).getRequestContext(); Map<String, List> headers = new HashMap<String, List>(); headers.put(“Authorization”, Collections.singletonList(“Basic YWRtaW5AYWRhcHRsb2dpYy5jb206MTIxMjE****=”)); // headers.put(“Username”, Collections.singletonList(“*****@******.com”)); // headers.put(“Password”, Collections.singletonList(“********”)); rContext.put(MessageContext.HTTP_REQUEST_HEADERS, headers); // rContext.put(BindingProvider.USERNAME_PROPERTY, […]

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服务?

@WebParam的@XmlElement(required = true)不起作用

我正在使用JAX-WS构建Web服务。 我有一个奇怪的问题,@ @XmlElement(required=true)的注释@XmlElement(required=true)在某些@WebService类中有效,但在其他一些类中不起作用。 我在两个@WebService类中有非常相似的代码。 什么可能导致这个问题? 参数类型还是实体类? 编辑:添加示例代码 我有两个Web服务: @WebService(name = “ClubMemberPortType”, serviceName = “ClubMemberService”, portName = “ClubMemberSoapPort”, targetNamespace = “http://club.com/api/ws”) public class ClubMemberWS { @WebMethod(operationName = “findClubMembersByClubId”, action = “urn:findClubMembersByClubId”) @WebResult(name = “club_membership”) public List findClubMembershipsByClubId(@XmlElement(required=true) @WebParam(name = “club_id”) String clubId, @WebParam(name = “status”) StatusEnum status){ … }} 和 @WebService(name = “ClubPortType”, serviceName = “ClubService”, […]

有什么方法可以使用JAX-WS从Javadoc生成WSDL文档吗?

我希望可以使用某种类型的扩展(尽管我认为我的希望是愚蠢的乐观)。 /** * * Gets the {@link ResultObject} given the identifier. The following * fields are not available for some users and will contain a null value: * * * * {@code resultObject.comment} * {@code resultObject.anotherObject.actionById} * {@code resultObject.anotherObject.actionByName} * * * * The {@code daysInPurgatory} value will be {@code -1} when not * applicable […]

访问Tomcat上的wsdl

我有一个Web服务,我正在GlassFish上部署它。 我通过http:// localhost:10697 / APIService / APIServiceService?wsdl访问了它的wsdl 。 现在我将WAR文件移植到Tomcat 6.0.24并进行部署。 但是我试图使用http:// localhost:8080 / APIService / APIServiceService?wsdl访问其wsdl但我收到404错误。 我尝试了各种组合,但似乎都没有效果。 如何访问wsdl文件plz? 感谢致敬, 更新:您在这里: web.xml : 30 index.jsp 我找不到sun-jaxws.xml但是…非常感谢! 问候

设置jax-ws客户端超时

我在设置jax-ws超时时遇到了麻烦。 我的代码是: @WebServiceClient(name = “VoipDBJDBCService”, targetNamespace = “http://db.server.voipmeter.jextreme.eu/”, wsdlLocation = “http://trace0.nyc.blinkmind.com:8080/voipdb?wsdl”) public class VoipDBJDBCService extends Service { public VoipDBJDBCService(URL wsdlLocation) { super(wsdlLocation, new QName(“http://db.server.voipmeter.jextreme.eu/”, “VoipDBJDBCService”)); } @WebEndpoint(name = “VoipDBJDBCPort”) public VoipDB getVoipDBJDBCPort() { return super.getPort(new QName(“http://db.server.voipmeter.jextreme.eu/”, “VoipDBJDBCPort”), VoipDB.class); } } 用法: VoipDB db = new VoipDBJDBCService(new URL(url)).getVoipDBJDBCPort(); 我如何挂断超时? 我在这里找到了“解决方案”: https : //jax-ws.dev.java.net/guide/HTTP_Timeouts.html但我不知道我将把它挂钩。如何获取代理? 当我调用getPort客户端尝试连接,然后如果服务器没有响应则永远挂起。 更新:此代码是从applet init()方法中调用的,如果这有任何区别。

Java Web服务客户端中的连接详细信息和超时

我必须为给定的WSDL文件实现webservice客户端。 我使用SDK的’wsimport’工具从WSDL创建Java类,以及将webservice唯一的方法( enhanceAddress(auth, param, address) )包装成一个简单的java方法的类。 到现在为止还挺好。 Web服务function正常,返回结果正确。 代码如下所示: try { EnhancedAddressList uniservResponse = getWebservicePort().enhanceAddress(m_auth, m_param, uniservAddress); //Where the Port^ is the HTTP Soap 1.2 Endpoint }catch (Throwable e) { throw new AddressValidationException(“Error during uniserv webservice request.”, e); } 问题现在:我需要获取有关连接的信息以及为了填充各种JMX值而可能发生的任何错误(例如COUNT_READ_TIMEOUT,COUNT_CONNECT_TIMEOUT,…)不幸的是,该方法没有正式抛出任何exception,所以按顺序要获取有关ConnectException的详细信息,我需要在将抛出的ClientTransportException上使用getCause() 。 更糟糕的是:我试图测试读取超时值,但没有。 我在wsdl文件中更改了服务的位置,将请求发布到php脚本,该脚本只是永远等待而不返回。 猜猜看:网络服务客户端不会超时但也会永远等待(我等了30多分钟后才杀了应用程序)。 这不是我的应用程序的一个选项,因为如果其中一些被“卡住”,我最终会用完tcp连接。 enhanceAddress(auth, param, address)方法未实现,但使用javax.jws注释。*注释,这意味着我无法查看/更改/检查实际执行的代码。 我有什么选择,但扔掉整个wsimport / javax.jsw-stuff并实现我自己的soap客户端?

java web服务客户端,添加http头

在wsdl上使用wsimport创建了一个java Web服务客户端,我需要为http请求中嵌入的每个soap消息设置Authorization头。 生成了javax.xml.ws.Service的子类后,如何将http标头附加到每个传出请求?

WSDL文件上的JAX-WS错误:“解析组件的错误:schema’”

错误 我在Java项目中使用wsimport来生成三个SOAP Web服务的源代码。 前两个工作正常:我使用JAX-WS Maven插件来获取WSDL文件并生成相应的Java源文件。 一个Web服务失败; 我收到以下错误: [jaxws:wsimport] Processing: /home/me/NetBeansProjects/Admin/AdminWeb/src/wsdl/erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx.wsdl jaxws:wsimport args: [-s, /home/me/NetBeansProjects/Admin/AdminWeb/target/generated-sources/jaxws-wsimport, -d, /home/me/NetBeansProjects/Admin/AdminWeb/target/classes, -verbose, -catalog, /home/me/NetBeansProjects/Admin/AdminWeb/src/jax-ws-catalog.xml, -wsdllocation, http://erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx?WSDL, -target, 2.0, -extension, -Xnocompile, /home/me/NetBeansProjects/Admin/AdminWeb/src/wsdl/erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx.wsdl] parsing WSDL… src-resolve.4.2: Error resolving component ‘s:schema’. It was detected that ‘s:schema’ is in namespace ‘http://www.w3.org/2001/XMLSchema’, but components from this namespace are not referenceable from schema document ‘file:/home/me/NetBeansProjects/Admin/AdminWeb/src/wsdl/erp-app-devel.srv.mycompany.ca/EgTestReportEngine/Service.asmx.wsdl#types?schema1’. If […]