Tag: jax ws

在JAX-WS消息中删除XML声明

我正在尝试使用Java代码调用Web服务。 所以我使用JAX-WS和JAXB从wsdl文件生成我的对象。 当我调用webservice时,它会响应此错误: Exception in thread “main” javax.xml.ws.soap.SOAPFaultException: The [javax.xml.transform.TransformerException] occurred during XSLT transformation: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: The XML declaration must end with “?>”. Exception in thread “main” javax.xml.ws.soap.SOAPFaultException: The [javax.xml.transform.TransformerException] occurred during XSLT transformation: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: The XML declaration must end with “?>”. at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189) at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89) at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118) 因此,通过wireshark,我分析了正在发送的xml消息。 并试图用soapUI重新发送它。 […]

App Engine上的javax.xml.ws.Service初始化出错

我正在尝试从GAE连接到SOAP服务器。 见例子 。 这一切在开发服务器上工作正常但在生产时我在初始化期间得到500错误。 经过大量挖掘后,我设法捕获了Throwable并记录了堆栈跟踪: java.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:532) at java.lang.Class.newInstance0(Class.java:372) at java.lang.Class.newInstance(Class.java:325) at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:58) at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:142) at javax.xml.ws.spi.Provider.provider(Provider.java:102) 此问题可能与问题4910有关 。 有一个建议说: 我上面的意思是你不应该把任何实现jaxws的jar文件放入你的战争中。 App Engine运行时包含jaxws的实现,您应该使用它。 在我的课堂路径中,我找到了 XML的API-1.0.b2,=。jar子 JAXB-api.jar文件 JAXB – impl.jar中 它们看起来不像jaxws实现,至少据我所知。 没有jaxb真的没有(如果我删除那个jar我会收到错误)。 任何建议都是受欢迎的。 [更新] [似乎] 3在类路径中只有jaxb导致问题,因此无法找到GAE的jaxws实现。 这个答案对于理解jaxws初始化的工作原理也很有用。

消息级别Jax-WS服务

我正在尝试创建一个WebService存根。 我喜欢在一个地方对所有请求做出反应。 我有一个示例值生成器,它处理请求的类型并创建一个示例响应,因此我不需要具有大量类的代码生成器。 只是一个非常简单的。 我找到了http://jax-ws.java.net/nonav/2.2.1/docs/provider.html WebServiceProvider,它正是为了获取原始SOAP消息,并在一个地方创建响应。 主要的问题是我是这个神奇的EE世界的新手:)我无论如何都无法启动WebServiceProvider示例。 我有Spring,SpringSource ToolSuit,Axis安装/配置,所有其他的东西都工作。 谢谢大家的帮助,如果问题对你来说太简单,请原谅。 也许我只是没找到/读过的东西。 M.

拦截服务器java中的HTTP请求

我需要实现类似filter或侦听器的东西,它拦截HTTP请求并为各种目的检索HTTP头。 我使用Java,Jboss应用服务器和Web服务。 我希望在Web服务调用之前执行此过滤系统 – 考虑方面但他们不保存HTTP相关的东西。 过滤后,应执行服务调用。 Jax-WS处理程序对我来说不起作用,因为它们只保存SOAP有效负载。 有任何想法吗? 提前致谢。

从Matlab内部调用JAX-WS Web服务

我有一个Vanguard webservice,我可以使用自定义java类调用(使用基本身份validation)。 java wsimport工具用于生成java代理存根,这一切都很完美。 java代码(下面的所有类都是由wsimport根据url +身份validation信息生成的): Authenticator.setDefault(new SimpleAuth(username,pass)); MyWSObject obj = new MyWSObject(url); -> triggers the exception ServicePortType port = obj.getServicePort(); OutputType result = port.MyWSMethod(params); OutputData data = result.getOutputData(); 当我从matlab运行完全相同的java函数(包含上面的代码)时,webservice调用失败并出现一个模糊的错误: ??? Java exception occurred: com.sun.xml.internal.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ‘”‘ (code 34) in DOCTYPE declaration; expected a space between public and system identifiers […]

使用XJC生成Java源时使用JAXWS enableWrapperStyle

我正在尝试从XSD生成Java源代码,并且必须使用JAXWS禁用包装器样式。 我编写了自定义绑定,但似乎JAXWS不能与XJC一起使用。 我使用的绑定非常简单。 false 如果我正在尝试运行ant脚本,我将收到以下错误消息。 [xjc] [ERROR] Unsupported binding namespace “http://java.sun.com/xml/ns/jaxws”. Perhaps you meant “http://java.sun.com/xml/ns/jaxb/xjc”? [xjc] line 2 of file:/D:/xxxxxxxxxx/xxxxx/xxxx.xsd [xjc] [ERROR] cvc-complex-type.2.4.a: Invalid content was found starting with element ‘jaxws:enableWrapperStyle’. One of ‘{“http://java.sun.com/xml/ns/jaxb”:javaType, “http://java.sun.com/xml/ns/jaxb”:serializable, “http://java.sun.com/xml/ns/jaxb/xjc”:serializable, “http://java.sun.com/xml/ns/jaxb/xjc”:superClass, “http://java.sun.com/xml/ns/jaxb/xjc”:superInterface, “http://java.sun.com/xml/ns/jaxb/xjc”:typeSubstitution, “http://java.sun.com/xml/ns/jaxb/xjc”:smartWildcardDefaultBinding, “http://java.sun.com/xml/ns/jaxb/xjc”:simple, “http://java.sun.com/xml/ns/jaxb/xjc”:treatRestrictionLikeNewType, “http://java.sun.com/xml/ns/jaxb/xjc”:javaType, “http://java.sun.com/xml/ns/jaxb/xjc”:generateElementProperty, “http://java.sun.com/xml/ns/jaxb/xjc”:noMarshaller, “http://java.sun.com/xml/ns/jaxb/xjc”:noUnmarshaller, “http://java.sun.com/xml/ns/jaxb/xjc”:noValidator, “http://java.sun.com/xml/ns/jaxb/xjc”:noValidatingUnmarshaller}’ is expected. [xjc] line 8 of file:/D:/xxxxxxxxxx/xxxxx/xxxx/xsd/xsd-binding.xml […]

Java-Missing WS-Addressing标题:“{http://www.w3.org/2005/08/addressing}Action”

我尝试在java 7中使用客户端到Web服务。我得到它: 警告:表示消息寻址属性的必需标头不存在,问题标题:{ http://www.w3.org/2005/08/addressing }操作com.sun.xml.internal.ws.addressing.model.MissingAddressingHeaderException :缺少WS-Addressing标题:“{ http://www.w3.org/2005/08/addressing } Action” 我该如何解决这个错误? 非常感谢。 –web服务安全性看起来像SOAPUI中的以下部分 – gelistirici gelistirme12 NT357!!_ 2016-05-07T11:57:03.821Z –Web服务接口 – @WebMethod(action = “getRequestDetail”) @WebResult(name = “requestDetail”, targetNamespace = “”) @RequestWrapper(localName = “getRequestDetail”, targetNamespace = “http://xmlns.oracle.com/scheduler”, className = “tr.com.service.soap.client.oracle.ess.beans.GetRequestDetail”) @ResponseWrapper(localName = “getRequestDetailResponse”, targetNamespace = “http://xmlns.oracle.com/scheduler”, className = “tr.com.service.soap.client.oracle.ess.beans.GetRequestDetailResponse”) public RequestDetail getRequestDetail( @WebParam(name = “requestId”, targetNamespace = “http://xmlns.oracle.com/scheduler”) […]

为什么Webservice的WSDL没有使用@WebFault命名空间?

在我的场景中,我有两个Web服务: package com.ws.mywebservice1; … @Webservice(serviceName = “MyWebservice1″, targetNamespace=”http://some.custom.namespace1/MyWebservice1”) @Stateless @LocalBean @HandleChain(file = “handlers.xml”) public class MyWebservice1 extends AbstractWebService { @WebMethod @WebResult(name = “outMyResult1″, targetNamespace=”http://some.custom.namespace1/MyWebservice1”) public OutMyResult1 myMethod() throws ApplicationFault { } } package com.ws.mywebservice2; … @Webservice(serviceName = “MyWebservice2″, targetNamespace=”http://some.custom.namespace2/MyWebservice2”) @Stateless @LocalBean @HandleChain(file = “handlers.xml”) public class MyWebservice2 extends AbstractWebService { @WebMethod @WebResult(name = “outMyResult2″, targetNamespace=”http://some.custom.namespace2/MyWebservice2”) […]

如何从具有NTLM身份validation的Java客户端调用基于.Net的Web服务

我想从java客户端代码调用基于.NET的Web服务。 我使用wsimport工具生成了JAX-WS存根。 这是在.NET客户端中创建凭据的方式 – NetworkCredential credential = new NetworkCredential(userName, password, “domain”); client.ClientCredentials.Windows.ClientCredential = credential ; 我们如何在Java Client中类似地执行此操作? 我搜索了很多,发现一些post建议进行NTLM身份validation,但我不知道该怎么做。

使用JAX-WS(服务器端)的SOAP标头

要求是在每个WebService请求中的Soap Message标头中包含安全属性。 一种方法是: @WebService @SOAPBinding ( style = javax.jws.soap.SOAPBinding.Style.DOCUMENT, use = javax.jws.soap.SOAPBinding.Use.LITERAL ) public interface UserService { @WebMethod public AuthenticateResponse authenticateUser(AuthenticateRequest request, @webParam(header=true) ApplicationCredential appcredential); @WebMethod public UserDetailResponse getUserDetail(UserDetailRequest request, @webParam(header=true) ApplicationCredential appcredential); } 但是,通过上述方法,我需要在每个操作中包含ApplicationCredential。 它看起来不太好。 我正在寻找是否可以在BaseRequest Class中包含这个ApplicationCredential类,并提到它将成为Soap Header的一部分(通过一些注释),这将非常有用。 例如: public class BaseRequest { @SomeAnnotation which states that Appcedential is a part of Soap Header […]