草庐IT

java - JAX-WS 始终内联发送 MTOM 附件

基本上我想创建一个Web服务客户端以通过代理方法发送mtomsoap消息。我已经通过Web服务wsdl创建了我的服务工件。消息已正确创建,但是当我启用mtom并添加附件时,附件始终以内联方式发送,而不是在单独的mime部分中发送。它类似于mtom已启用,但由于某种原因,它决定不优化消息,因此将其内联发送。通过soapui运行相同的代码会给出正确的结果,所以我知道服务本身会接受它。这是我创建soap请求并发送它的基本代码。我启用了mtomfeature,但也尝试过使用soapBinding.setMTOMEnabled(true);对于这两种方法,我都使用((SOAPBinding)bi

java - 如何在 Java 中进行 SOAP 调用

这看起来应该很简单,但也许我遗漏了什么。我只想用Java进行SOAP调用,最好只使用内置API。我有点不知所措看着javax.xml.soapJava文档中的包。我曾尝试在Google上搜索,但似乎所有结果都来自2000-2002年,而且他们都在谈论可用于SOAP调用的库(我猜是在内置SOAP库之前)。我不需要处理SOAP请求;只做一个。Thissite有一个非常简单的示例,但它不使用内置的JavaSOAP库。我如何使用核心Java做基本相同的事情?//CreatetheparametersVectorparams=newVector();params.addElement(newPa

java - 带有 Java 的 Wss4jSecurityInterceptor 的 SOAP WS-Addressing 属性

您好,我创建了使用SOAP服务的代码,对于身份验证header,我使用Wss4jSecurityInterceptor来设置header信息。我收到如下所示的失败响应Exceptioninthread"main"org.springframework.ws.soap.client.SoapFaultClientException:Requiredelement{http://www.w3.org/2005/08/addressing}Actionismissing我的配置代码如下@ConfigurationpublicclassSoapClientConfig{@BeanpublicJ

java - 在 JAX-WS 代码优先方法中根据模式验证 soap 请求

我创建了一个JAX-WS网络服务,在一些请求字段上使用JAXB注释使其成为强制性的。@XmlElement(required=true)protectedStringnumber;cxf-java2ws-plugin生成的WSDL是正确的,字段上没有minOccurs="0":但是当服务收到不遵守这些约束(缺少字段)的请求时,不会抛出SoapFault或异常。我还尝试将@SchemaValidation添加到我的WS类中,但没有效果。如何根据模式(或者更确切地说是根据基于注释的约束的验证)自动执行请求验证? 最佳答案 minOccu

java - 带有内容过滤或屏蔽 soap 字段的 CXF 日志记录请求和响应

我想记录来自某个特定端点的所有传入请求和响应,并进行内容过滤。IE。当我有这样的请求时:ApplesPhotowithsomeapplesinitanVzdCBhIHJhbmRvbSB0ZXh0DQpqdXN0IGEgcmFuZG9tIHRleHQNCmp1c3QgYSByYW5kb20gdGV4dA0KanVzdCBhIHJhbmRvbSB0ZXh0DQpqdXN0IGEgcmFuZG9tIHRleHQNCmp1c3QgYSByYW5kb20gdGV4dA0KanVzdCBhIHJhbmRvbSB0ZXh0DQp3b3csIGkgZGlkbid0IHRob3VnaHQgdGhhdCB

java - 一个简单的 Java SOAP 客户端

我是Web服务的新手,一直在努力寻找Internet上简单的JavaSOAP客户端程序。我想要做的就是发送一条SOAP消息并收到一些响应。有一个网站提供免费的网络服务。http://www.webservicex.net/ws/WSDetails.aspx?WSID=17&CATID=7您输入国家/地区名称,它会为您提供该国家/地区的ISD代码。就这么简单。我想将国家/地区名称发送到Web服务并仅使用Java取回其ISD代码,而无需任何外部jar。 最佳答案 尝试SoapUI-它非常棒,涵盖了使用网络服务工作的几乎所有方面..

java - 使用 Web 服务时如何管理用户 session ?

如果用户通过网络浏览器使用网络应用程序,则用户的session由应用程序服务器管理。它负责session创建、验证、超时、处置等。据我所知,在另一种情况下没有这样的机制,如果用户通过远程客户端使用应用程序并使用SOAPWeb服务。那么问题来了,我们如何在Web服务的情况下管理用户的session,并实现与session管理相同的机制,例如失效、延长、处置? 最佳答案 假设您使用JAX-WS和SOAP/HTTP,也可以使用容器管理的安全性(例如sessioncookie)。你只需要注入(inject)WebServiceContext

java - 传输级别信息与 SOAP 消息命名空间 URI 不匹配

我收到错误“传输级别信息与SOAP消息命名空间URI不匹配”。要求您提供详细信息以解决问题。我在客户端设置了以下内容。HttpTransportProperties.ProxyPropertiesproxyProperties=newHttpTransportProperties.ProxyProperties();proxyProperties.setProxyName(proxyAddress);proxyProperties.setProxyPort(proxyPort);stub._getServiceClient().getOptions().setProperty(HTTP

java - "package javax.xml.soap is declared in module java.xml.ws, which is not in the module graph"

所以我在WorkingSoapclientexample获取了SOAP示例,将其放入文件SOAPClientSAAJ.java,并尝试编译它(Debian上的Openjdk9):t@h~/javatest>javacSOAPClientSAAJ.javaSOAPClientSAAJ.java:1:error:packagejavax.xml.soapisnotvisibleimportjavax.xml.soap.*;^(packagejavax.xml.soapisdeclaredinmodulejava.xml.ws,whichisnotinthemodulegraph)1erro

java - 将 javax.xml.ws.Endpoint 与 HTTPS 结合使用

我正在从事一个控制建筑物中的光和暖气的项目。后端(用Java编写)将在MacMini上运行,应该可以通过SOAP访问。我想将这个项目的复杂性保持在最低限度,因为我不希望每个使用它的人都必须设置一个应用程序服务器。所以到目前为止,我一直在使用javax.xml.ws.Endpoint:Endpointendpoint=Endpoint.create(frontendInterface);Stringuri="http://"+config.getHost()+":"+config.getPort()+config.getPath();endpoint.publish(uri);这工作出奇