警告:WSDL操作和@Action的输入操作与其关联的Web方法不匹配,并且会在派遣请求时引起问题



尽管SEI WebMethod上的操作属性值匹配WSDL操作的肥皂,但我在尝试从Java代码调用服务方法时一直在警告以下警告。

com.sun.xml.internal.ws.model.JavaMethodImpl freeze
WARNING: Input Action on WSDL operation inquirePayees and @Action on its associated Web Method inquirePayees did not match and will cause problems in dispatching the requests

以下是 WSDL Fragment

  <s0:portType name="billPayeeServicePortType">
    <s0:operation name="inquirePayees">
      <s0:input message="s1:custPayee50InqRequest" s2:Action="http://services.abc.com/billPayee50Service/Services/billPayeeService/#CustPayee50InqRequest"/>
      <s0:output message="s1:custPayee50InqResponse" s2:Action="http://services.abc.com/billPayee50Service/Services/billPayeeService/#CustPayee50InqResponse"/>
    </s0:operation>
  </s0:portType>
  <s0:binding name="billPayeeServiceSOAP" type="s1:billPayeeServicePortType">
    <s3:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>    
    <s0:operation name="inquirePayees">
      <s3:operation soapAction="http://services.abc.com/InquirePayeeService/Services/InquirePayeeService/#CustPayeeInqRequest" style="document"/>
      <s0:input>
        <s3:body parts="custPayee50InqRequest" use="literal"/>
      </s0:input>
      <s0:output>
        <s3:body parts="custPayee50InqResponse" use="literal"/>
      </s0:output>
    </s0:operation>    
  </s0:binding>

然后我有一个客户端 sei (由Wsimport生成)。

/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.7-b01-
 * Generated source version: 2.1
 * 
 */
@WebService(name = "billPayeeServicePortType", targetNamespace = "http://emf.abc.com/emb/ws")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface BillPayeeServicePortType {
@WebMethod(action = "http://services.abc.com/InquirePayeeService/Services/InquirePayeeService/#CustPayeeInqRequest")
@WebResult(name = "CustPayee50InqResponse", targetNamespace = "http://emf.abc.com/emb/ws", partName = "custPayee50InqResponse")
public CustPayee50InqResponseType inquirePayees(
    @WebParam(name = "CustPayee50InqRequest", targetNamespace = "http://emf.abc.com/emb/ws", partName = "custPayee50InqRequest")
    CustPayee50InqRequestType custPayee50InqRequest);
}

知道这是什么问题,为什么我会看到此警告?有没有方法可以抑制此警告?

我尝试在上述WSDL中删除输入和输出元素上的操作属性,因为输入元素操作与ExameRepayees操作的肥皂不匹配。那不起作用。

任何帮助都非常感谢。

您的WSIMPORT版本和参数是什么?

    /**
     * This class was generated by the JAX-WS RI.
     * JAX-WS RI 2.2.9-b14002
     * Generated source version: 2.2
     * 
     */

尝试

    @Action(input = "http://emf.abc.com/emb/ws/BillPayeeServicePortType/custPayee50InqRequest")

或您的Web服务方法中的类似内容。请参阅Oracle文档

相关内容

  • 没有找到相关文章

最新更新