Tag: soap

使用Axis 1.4设置自定义SOAP标头

我正在尝试使用Axis使用.NET 2.0 Web服务。 我使用Eclipse WST插件生成了Web服务客户端,到目前为止似乎没问题。 这里是预期的SOAP标头: string string 我没有找到任何有关如何从Axis客户端配置此标头的文档。 当我使用Visual Studio C#Express 2008生成客户端时,它会生成一个名为Authentication的类,其中包含两个String属性( User和Password ),并且所有客户端方法都接收此类的对象作为第一个参数,但Axis WS不会发生这种情况。客户。 如何在客户端调用中设置此标头?

SOAP WS – 使@WebParam可选

我有一个非常简单的方法,我通过JAX-WS注释在WS API中使用它: @WebMethod public MyResponse sendSingle2( @WebParam(name=”username”) String username, @WebParam(name=”password”) String password, @WebParam(name=”newParam”) String newParam) { // the code } 现在我希望newParam是可选的。 我的意思是我希望该方法不仅可以在传递的xml中参数为空时工作: user pass 但是当它不存在时: user pass 我需要它不要破坏现有的API,它在没有新参数的情况下工作。

为什么不使用带JSON的SOAP?

JSON与REST相关联。 使用REST,您还可以使用XML。 那么为什么不反过来呢? 使用JSON的SOAP仅用于数据格式,同时保留wsdl用于在某些企业场景中有用的合同方面? 更新:所以评论席指向http://en.wikipedia.org/wiki/SOAPjr但是这不能回答我的问题: 如果它是两个品种中最好的,为什么几乎没有人包括我从未听说过它? 是不是因为像SOAP一样,人们只是遵循传统,直到一些大师醒来并哭泣:至少对某些企业应用来说,我们再次做错了吗?

java中的SOAPerror handling

我对SOAP很新,我正在尝试理解SOAP故障处理(在Java中)。 我已经阅读过关于这个主题的内容,但仍然有一些概念对我来说仍然不清楚。 更具体地说,如何使用Eclipse WSDL编辑器处理各种响应代码。 我已经使用Eclipse WSDL编辑器来创建我的WSDL,但我愿意使用其他工具(如SoapUI)来完成此任务(处理错误)。 我附上了一个简单的Web服务的图像,该服务应该采用UserID(请求)并返回有关用户的信息,如姓名,年龄等(响应)。 我想处理响应可能返回的警告和错误代码。 例如找到重复的UserID>代码“ABC”或没有找到UserID>代码“XYZ”。 我真的不明白这些代码的返回方式和位置以及处理方式。 响应会将“ABC”作为字符串返回吗? 以下问题基于附图。 我是否需要将displayUserInfoFault设置为扩展Exception类并将“throws displayUserInfoFault”添加到displayUserInfo()方法的新类? 任何指导将不胜感激。 谢谢!

试图找出为什么这两个SOAP请求之一不起作用(java.lang.IllegalArgumentException)

我有一个正在运行的JAX-WS Web服务,它已经有一些工作端点。 现在我遇到以下问题: 我在这里有两个不同的SOAP请求,我不明白为什么第一个工作,但第二个不工作。 请求中唯一明显的区别是第一个在标记中指定了一个名称空间,而第二个在调用方法时指定了它。 SOAP请求1 – 不工作(在方法调用中指定了命名空间) 92623-15853588 0 0 SOAP请求2 – 工作(名称空间在标记中指定) 92623-15853588 0 0 我在做第一个(不工作)请求时得到的SOAP错误消息。 S:Server java.lang.IllegalArgumentException 接收第一个SOAP请求时从服务器抛出的exception的堆栈跟踪。 java.lang.IllegalArgumentException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) […]

JAX-WS返回空列表

我是网络服务的新手。 我遇到了一些问题。 在服务器端我使用spring-ws。 在客户端我使用jax-ws。 使用wsimport工具,我根据我的wsdl生成了java类。 一切正常,但由于某种原因,jax-ws不解析数组并正确列出,所有列表都是空的 我完全确定,响应是正确的forms,用soapui测试它,我也使用日志拦截器来记录outcomming响应。 以下是回复的片段 回应看起来像 hello world text hello world text hello world text 和wsdl的片段 要生成客户端代码,请使用wsimport。 SayHelloResponseType resp = serv.sayHello(r); List name = resp.getName(); System.out.println(name.size()); 谢谢。 任何帮助将受到高度赞赏。

如何从java中获取SOAP端点的响应?

我是SOAP的新手,所以在线查看一些程序,这是我想出来的但我得到的回复是空的,必须是一些愚蠢的事情,但需要一些帮助 请看下面的代码和输出。 谢谢 码 import java.net.URL; import javax.xml.namespace.QName; import javax.xml.soap.MessageFactory; import javax.xml.soap.SOAPBody; import javax.xml.soap.SOAPBodyElement; import javax.xml.soap.SOAPConnection; import javax.xml.soap.SOAPConnectionFactory; import javax.xml.soap.SOAPElement; import javax.xml.soap.SOAPHeader; import javax.xml.soap.SOAPHeaderElement; import javax.xml.soap.SOAPMessage; public class AtomicNumber { public static void main(String[] args) { try { SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance(); SOAPConnection connection = sfc.createConnection(); MessageFactory mf = MessageFactory.newInstance(); SOAPMessage smsg = mf.createMessage(); SOAPHeader […]

Spring WS Web服务。 使用SAAJ向响应添加附件 – 没有端点适配器

我真的很难让Spring-WS返回带附件的响应。 我已经设法让MTOM版本工作,但这在客户端有一些先决条件,因为我相信客户端也必须启用MTOM(如果这不正确,请纠正我)。 我现在要做的是使用标准的SOAP和附件实现,使用SAAJ和Spring-WS。 为此,我实现了一个端点,只需将图像从本地文件系统附加到响应。 @Endpoint public class TestEndPoint { private SaajSoapMessageFactory saajMessageFactory; @PayloadRoot(namespace=”http://ws.mypackage.com”, localPart=”downloadMessageRequestSaaj”) @ResponsePayload public JAXBElement invoke(@RequestPayload DownloadMessageRequestSaaj req, MessageContext context ) throws Exception { DownloadResponseSaajType response = new DownloadResponseSaajType(); DownloadResponseSaajType.PayLoad payload = new DownloadResponseSaajType.PayLoad(); DataHandler handler = new javax.activation.DataHandler(new FileDataSource(“c:\\temp\\maven-feather.png”)); SaajSoapMessage message = saajMessageFactory.createWebServiceMessage(); message.addAttachment(“picture”, handler); context.setResponse(message); payload.setMessagePayLoad(handler); return objectFactory.createDownloadMessageResponseSaaj(response); } public void […]

简单的webservice示例tomEE无法正常工作

我正在尝试从tomEE部署简单的WS示例: http ://openejb.apache.org/examples-trunk/simple-webservice/ 由于没有什么特别之处,我会详细说明我的所作所为。 也许有人看到我做错了什么: 机器:Win7,Eclipse,服务器:tomEE + 创建运行时目标的新动态Web项目= tomcat tomEE服务器 在/ src中创建了新的包,并在那里添加了3个类: Calculator , CalculatorWS , CalculatorTest 。 -rightclick项目>运行方式>在服务器上运行>选择tomEE。 服务器启动,启动http://127.0.0.1:8080/testproject 这导致404,因为我还没有设置任何jsf页面。 无论如何,转到http://localhost:8080/testproject/Calculator?wsdl或http://localhost:8080/testproject/webservices/Calculator?wsdl如示例所示,我也找不到404。 显然Web服务没有部署? 这个基本而简单的例子有什么问题?

服务类不符合JAX-RPC 1.1规范的一个或多个要求,并且可能无法正确部署或运行

我是Java Webservices的新手,目前我正在尝试创建一个简单的基于SOAP的Web服务,但在创建它时遇到问题。 这是我的webservice类: @WebService public class Teams { private TeamsUtility utils; public Teams() { utils = new TeamsUtility(); utils.make_test_teams(); } @WebMethod public Team getTeam(String name) { return utils.getTeam(name); } @WebMethod public List getTeams() { return utils.getTeams(); } @WebMethod public String getDummyTeams() { return “Hi”; } } 如你所见,我有3种方法。 现在,如果我只是保留getDummyTeams并要求eclipse创建一个WebService,那么我没有任何问题。 但是当我尝试添加剩余的2个方法时, public Team getTeam(String name) & public […]