在SOAP1.1Java实现中,有没有一种方法可以使SOAP操作成为可选的?

在SOAP1.1Java实现中,有没有一种方法可以使SOAP操作成为可选的?,java,web-services,soap,Java,Web Services,Soap,我们目前有一整套SOAP1.1服务实现,它们不关心是否提供了SOAP操作。它们将很乐意执行一个空的SOAP操作,并且仍然可以正常工作,以某种方式将调用链接到正确的方法 我们还有一个新的SOAP1.1服务实现,如果没有SOAP操作,它将绝对无法运行 问题是,大多数客户机都很懒惰,不提供SOAP操作,虽然我想让他们这样做,但目前还不可行 在我的一生中,我无法确定是什么配置项允许现有服务允许空SOAP操作。有人知道如何在SOAP1.1服务上禁用SOAP操作验证吗 我们的容器实现是WAS8.5.5.13

我们目前有一整套SOAP1.1服务实现,它们不关心是否提供了SOAP操作。它们将很乐意执行一个空的SOAP操作,并且仍然可以正常工作,以某种方式将调用链接到正确的方法

我们还有一个新的SOAP1.1服务实现,如果没有SOAP操作,它将绝对无法运行

问题是,大多数客户机都很懒惰,不提供SOAP操作,虽然我想让他们这样做,但目前还不可行

在我的一生中,我无法确定是什么配置项允许现有服务允许空SOAP操作。有人知道如何在SOAP1.1服务上禁用SOAP操作验证吗

我们的容器实现是WAS8.5.5.13,我们正在运行Java1.8,这很重要

谢谢, Peter

您可以使用支持在纯XML级别上处理SOAP的Java库

支持以下内容:

  • 支持WSDL1.1
  • 支持SOAP 1.1和1.2
  • 支持所有四种WS风格:rpc编码、rpc文本、文档文本和文档编码
  • 支持SSL和基本身份验证
  • 支持SOCKS、HTTP和HTTPS代理
  • 支持SpringFramework
  • 支持JUnit、Spock和Arquillian
  • 然后,可以通过调用post()方法发送SOAP信封(作为字符串):

    您还可以跳过SOAPAction标题,只发送信封:

    否则,默认实现强制执行
    SOAPAction
    字段

    SOAP1.1

    SOAPAction HTTP请求头字段可用于指示SOAP HTTP请求的意图。这个 值是标识意图的URI。SOAP不限制 URI的格式或特定性,或者它是可解析的。HTTP协议 客户端在发出SOAP HTTP请求时必须使用此头字段

    soapaction=“soapaction”“:”[] URI引用=

    SOAPAction标头字段的存在和内容可由 适当过滤SOAP请求的服务器(如防火墙) HTTP中的消息。空字符串(“”)的标题字段值表示 SOAP消息的意图由HTTP提供 请求URI。无值表示没有意图指示 这条消息的一部分

    示例:

    SOAPAction: "http://electrocommerce.org/abc#MyMessage"
    SOAPAction: "myapp.sdl"
    SOAPAction: ""
    SOAPAction:
    

    Hi-Risser SOAP操作可以是空的,可能旧的实现正在调整标头,即headers.addHeader(“SOAPAction”,endpoint);您可以添加一些类似于新实现的内容吗?不,代码中唯一的SOAP操作引用(通过搜索“soapaction”)是客户端WSDL中对其他服务的两个引用。据我所知,在提供程序中没有设置SOAP操作。我的意思是,似乎在某个地方一定有什么东西,但和你描述的完全不同。谢谢你!除了,我不是客户,我是供应商。我无法控制客户的行为。而且,我同意您关于SOAP 1.1所需的SOAP操作的看法,除了。。。没有它,我的所有1.1实现都可以正常运行。我不知道为什么。如果有人知道原因,这可能会回答我的问题。谢谢你!
     client.post(envelope);
    
    SOAPAction: "http://electrocommerce.org/abc#MyMessage"
    SOAPAction: "myapp.sdl"
    SOAPAction: ""
    SOAPAction: