我们正在为客户创建一个Web服务客户端。 它将请求发送给第三方,然后第三方在CRM中注册该客户端。 肥皂消息以以下方式按父节点和子节点创建。

<Claim>
   <Client_SSN_No>123</Client_SSN_No>
   <Other_Detail>
      <Address> </Address>
      <Phone_No> </Phone_No>
   </Other_Detail>
</Claim>

在上面的示例中,使用getter和setter成功传递了Client_SSN_No,但是如果传递时没有other_details,则我们尝试为Other_Detail标记创建消息。 像这样

<Claim>
   <Client_SSN_No>123</Client_SSN_No>
   <Other_Detail>        </Other_Detail>
   <Address> </Address>
   <Phone_No> </Phone_No>
</Claim>

以下是我调用Web服务的代码。

public java.lang.String consultaXmlStub(BPAval.ParametrosConsultaDTO parametrosConsulta) throws java.rmi.RemoteException
{
    org.apache.axis.client.Call _call = createCall();
    _call.setOperation(_operations[2]);
    _call.setUseSOAPAction(true);
    _call.setSOAPActionURI("");
    _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName("http://XYZ", "RegisterClient"));
    _call.setTargetEndpointAddress(locator);

    setRequestHeaders(_call);
    setAttachments(_call);
    try
    {
        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {parametrosConsulta});
        if (_resp instanceof java.rmi.RemoteException)
        {
            throw (java.rmi.RemoteException)_resp;

        }
        else
        {
            extractAttachments(_call);
            try
            {
                return (java.lang.String) _resp;
            }
            catch (java.lang.Exception _exception)
            {
                return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);
            }
        }
  }
  catch (org.apache.axis.AxisFault axisFaultException)
  {
    System.out.println(axisFaultException.toString());
    throw axisFaultException;
  }
}

  ask by Prem translate from so

本文未有回复,本站智能推荐: