草庐IT

java - 如何使用 Web 服务传递对象等复杂类型?

这听起来像是一个简单的问题,但作为Webservies的新手,这是我第一次使用它,所以我提出了我的疑问。问:如何使用Web服务传递对象或复杂类型?我创建了一个简单的web服务并传递了字符串和整数类型,但我不确定如何使用web服务传递对象,因此非常感谢任何指导。谢谢。 最佳答案 您只需在服务端序列化对象(制作文本)并在接收端反序列化(再次制作对象)。多年来,SOAP一直是这方面的标准,但如今JSON变得更受欢迎,因为它的开销比SOAP少得多。如果使用SOAP和Java,您可以尝试使用Google提供的GSON,它提供了一个非常易于使用

java - Apache CXF - 给定的 SOAPAction 与操作不匹配

我再次开始从事几年前开始的项目(此处提供代码:http://code.google.com/p/mipnp/)。它是一个UPnP媒体服务器,可以将媒体流式传输到xbox360。对于UPnP中的SOAP部分,我使用了ApacheCXF。使用CXF2.4.8版,一切正常。但是每当我尝试更新到CXF版本2.4.9(或更高版本)时,我都会收到以下异常:WARNING:Interceptorfor{urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1}MediaReceiverRegistrarService#{urn:microsoft

java - 如何在同一端口托管 SOAP 服务和 REST 服务?

有谁知道如何配置它以便SOAP服务和REST服务可以在应用程序服务器之外使用Jersey(Grizzly)共享同一个端口?我的SOAP服务位于www.someurl.com:port/soap/crm我的休息服务在www.someurl.com:port/crm这些服务共享同一个端口但不是同一个基本url,因此应该能够在该端口上并排运行。但是,有一个端口绑定(bind)错误..所有这些都在自定义服务应用程序中,没有web.xml等。REST服务使用Jersey,Soap服务是在端点上发布的“ReceptionService”类。URIsoapUri=URI.create("192.16

java - 使用 xpath 在 Java 中解析带有命名空间的 XML

我正在尝试在Java中解析SOAP请求,但代码未返回任何节点这是代码,任何人都可以找到错误Stringxml="dfasf@google.comPfasdfRem91";System.out.println(xml);DocumentBuilderFactorydomFactory=DocumentBuilderFactory.newInstance();domFactory.setNamespaceAware(true);DocumentBuilderbuilder=domFactory.newDocumentBuilder();Documentdoc=builder.parse(n

java - 如何更改 "SOAP-ENV"Spring-WS 的默认前缀

我已经使用Spring-WS创建了一个Web服务。为了保持与旧系统的兼容性,我需要将命名空间前缀从SOAP-ENV更改为soap。我知道SOAP-ENV和soap只是namespace前缀。只要它们引用正确的命名空间("http://schemas.xmlsoap.org/soap/envelope/"),就应该没问题。但旧系统将解析器代码硬编码为仅期望soap命名空间前缀。当前响应:...预期响应:...这是我到目前为止尝试过的方法创建EndpointInterceptorAdapter子类。这将拦截SOAP响应/错误并更改SOAP信封。这可行,但就性能而言并不理想。publiccl

java - WSO2 ESB JSON 到 SOAP

目前大部分文档都是引用SOAP-to-JSON,我希望有没有使用WSO2ESB将JSON响应对象转换为SOAP服务的引用资料或教程。提前致谢。示例服务:http://api.statsfc.com/premier-league/table.json?key=free 最佳答案 您可以使用类似于以下的配置来实现此目的;(我们必须将“messageType”属性设置为“text/xml”,以便在响应客户端时使用SOAP消息构建器。)但是如果您的JSON响应对象与您从您提供的示例服务中获得的对象完全相同(即,如果它是一个匿名对象数组),E

java - JAXB 将空列表映射到空集合?

我有一个webservicesoap服务,它将一个带有可选列表的对象作为xml参数:@XmlElement(required=false)privateListlist;publicListgetList(){returnlist;}如果客户端未提供列表标记,是否可以告诉JAXB始终返回/使用空集合而不是null列表?或者我是否总是必须在服务器端为永远不应为null的列表定义一个惰性getter(我希望始终如此)?publicListgetList(){if(list==null){list=newArrayList();}returnlist;} 最佳答案

java - SoapUI 与 Java Web 服务客户端

如果SOAP网络服务通过SoapUI运行良好(产生正确的SOAP响应),同时使用不同的API/框架在Java中构建网络服务客户端来调用该网络服务时面临不同的问题,考虑这个是否安全Web服务稳定,问题出在消费者方面?我在这里问的是一个一般性问题,我已经问了一个可能太长而无法阅读的详细问题。我对这个概念比我的实际实现更感兴趣,所以如果你能在不引用我的长篇博文的情况下回答我的问题,请这样做。更新:我已经意识到,即使WSDL符合WS-I并且它通过SoapUI正常运行,这仍然不足以断定Web服务没有被破坏。正如@jtahlborn所说,SoapUI对损坏的Web服务具有很强的容忍度,它很容易让您

java - Spring Web 服务 - 异常跳过 ExceptionResolver

我有一个SOAP服务,如果我为XML元素指定了错误的输入,请求和响应将按预期工作并具有良好的输入在请求正文中:...asdf...调用了我的异常解析器,这个解析器只是异常解析器的一个实现,所以它没有异常映射,只是抽象方法中的几个System.out但是,如果我发送一个看起来更像这样的请求:...asdf...我的解析器根本没有执行我将log4j设置为具有根调试级别并看到此输出:2010-08-0910:30:01,900[Thread:http-8080-2]DEBUG[org.springframework.ws.transport.http.WebServiceMessageRec

java - 无法使用 java SoapMessage 更改信封中的 soap URI

我正在尝试创建一个简单的SOAP消息以从客户端发送,但我(似乎)无法更改信封中“soap”命名空间的URI。Soapheader应该是这样的:...所以我有以下代码:finalSOAPMessagesm=MessageFactory.newInstance().createMessage();finalSOAPPartsp=sm.getSOAPPart();finalSOAPEnvelopese=sp.getEnvelope();finalSOAPHeadersh=se.getHeader();finalSOAPBodysb=se.getBody();se.removeNamespac