草庐IT

ws-client

全部标签

java - 摆脱 JAX-WS 中的空 xmlns 元素

我正在尝试使用JAX-WS客户端生成这样的请求:BPM11957T201508101626333904816BPMP240000000En6060OprtSupportReviewer6060但是请求是这样生成的:OLPM201508261333149660000020BPMP24000000En60606060添加的标签xmlns=""在服务器端造成问题这是我的处理程序的代码,它用SOAP信封包围请求if(outboundProperty.booleanValue()){try{SOAPMessagesoapMessage=context.getMessage();SOAPEnvel

java - 在 Soap Security Header (Spring WS) 中设置自定义标签

我正在使用SpringWSTemplate客户端发送消息。使用方法sendSourceAndReceiveToResult(SourcerequestPayload,WebServiceMessageCallbackrequestCallback,ResultresponseResult)。在此,我使用wss4jsecurityinterceptor设置了一些安全凭证。但目前我需要在usernametoken中设置自定义标签(RegisterKey),如下所示。testa287645857cfaaddf82e2d333651b3e0oKGlwEkbkhYJH6upsbiqeQ==201

xml - JAXB 2 spring-ws 2.0.3.RELEASE SOAP 服务教程链接/建议请求

我正在尝试使用JAXB2和spring-ws2.0.3在glassfish3上创建SOAP服务。我在xml文件配置方面遇到了一些问题,因为有大量关于让这些包的旧版本运行的信息(教程、示例),但关于新版本的信息不多。我已经成功地让客户端/服务器程序通过httpInvokerProxy远程服务工作,但是这些文件中所需的配置量要多得多。基本上,我使用xjcmaven工具从我的xml模式和spring-ws注释@PayloadRoot、@EndPoint和@创建java类ResponsePayload标记我的端点java类中的方法。我只是想确保我的wsdl文件在正确的URL上可用,并且正在接受

java - Spring-ws XML 炸弹保护,有人知道吗?

如果我使用JAXB2un/marshaler...和​​Xalan2.7.1和Xerces,有没有办法保护Spring-WS应用程序免受XML炸弹的攻击,尽管我不再知道谁依赖于什么了:)....基本上我想在整个应用程序中禁用DTD作为模式语言,如果这可以从应用程序上下文xml文件中完成,那就太好了!我想另一个选择是扩展/实现一些类/接口(interface),并更改一些方法,但我不知道在Spring-WS中哪里首先调用了解析器.... 最佳答案 Java解析器通常具有针对实体扩展攻击之类的内置保护:http://download.o

xml - JAX-WS/Webservices 记录请求/响应原始 XML

有一个webservices类被注释@javax.jws.WebService我需要将原始请求和响应xml记录到数据库中。无论如何我都无法想到/找到我可以做到这一点。请帮忙!! 最佳答案 非常简单。看看here:-Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true对于更具选择性的日志记录,您可以使用拦截器,检查there.

java - 不转义 Spring WS SOAP 主体中的字符

我正在使用Java和Spring-ws构建Web服务。它工作正常,除了一件事。当我组装要放入SOAP主体中的有效负载时,我想包括CDATA转义字符串。这就是我想要的结果:stuff]]>但是,Spring-WS在添加SOAP信封时似乎篡改了有效负载。这是我得到的结果:<myxml>stuff</myxml>有没有办法确保SpringWS不转义XML字符并遵守CDATA标签?我正在将SpringWS与ApacheCamel一起使用,因此我更喜欢不需要更改/扩展spring-ws类的解决方案。 最佳答案 我已经使用MOXy和

java - 将 GWT xml.client.Document 转换为 XML 字符串

我有一个使用XMLParser.parse(...)创建的com.google.gwt.xml.client.Document对象。我想将它序列化回派生它的XML字符串。最简单的方法是什么?我看不到阅读有关此类和相关类的Javadoc的直接方法。感谢任何帮助,谢谢。-tjw 最佳答案 最简单的方法:document.toString(); 关于java-将GWTxml.client.Document转换为XML字符串,我们在StackOverflow上找到一个类似的问题:

xml - 未找到 Java 类型的 Jersey Client 消息正文阅读器

我使用的是Jersey1.1(旧的,我知道-必须使用,因为我坚持使用Java1.5)。我正在执行一个简单的GET,其中将Java对象作为实体返回。Java对象被正确编码(从Java到XML),因为我可以通过Web发出GET请求并且效果很好。我正在尝试使用Jersey客户端发出GET请求并将其解码回Java对象,这就是它失败的地方。Jersey难道不应该知道如何将从GET请求中接收到的XML解码回POJO中吗?它在服务器端工作。这是我得到的异常:ClientHandlerException:AmessagebodyreaderforJavatype,classmy.class.Searc

java - 为什么我的 JAX-WS 处理程序在每个元素上重新声明相同的命名空间?

我编写了一个JAX-WS处理程序来将WS-Securityheader添加到我的SOAP客户端的出站消息中:packagecom.soap.client;importjavax.xml.namespace.QName;importjavax.xml.soap.Name;importjavax.xml.soap.SOAPElement;importjavax.xml.soap.SOAPException;importjavax.xml.soap.SOAPFactory;importjavax.xml.ws.handler.MessageContext;importjavax.xml.ws

xml - Jax-WS - 从请求 XML 中删除空标签

我正在尝试使用提供商公开的Web服务。提供者在他的末端有一个严格的检查请求xml不应该包含没有值的标签。我正在使用Jax-WS。如果我没有在特定对象中设置值,它将作为空标签发送并且标签存在。PFB示例说明了我的问题。客户端XML:45DannyNAGSEK在此,没有给出IpAddress的值,因此发送了空标签。因此请告诉我们需要做什么来删除请求xml中的空标记。Handlerchain是唯一的解决方案吗?谢谢,纳文。 最佳答案 注意:我是EclipseLinkJAXB(MOXy)JAXB(JSR-222)的领导和成员专家组。默认情况