java 服务器无法处理请求值不能为空

标签 java web-services apache tomcat

我遇到了这个异常:

Server was unable to process request. ---> Value cannot be null.Parameter name: input

如何找到参数:input?而且,我该如何解决根本问题?我正在从 Java 客户端调用 ASP.net 中的 Web 方法。

这是代码:

public org.tempuri.UpdateInsuredDetails_Output recieveMDMDataInsuredDetails(
        org.tempuri.UpdateInsuredDetails_Input l_input)
        throws java.rmi.RemoteException {
    if (super.cachedEndpoint() == null) {
        throw new org.apache.axis.NoEndPointException();
    }
    org.apache.axis.client.Call _call = createCall();
    _call.setOperation(_operations[2]);
    _call.setUseSOAPAction(true);
    _call.setSOAPActionURI("http://tempuri.org/RecieveMDMDataInsuredDetails");
    _call.setEncodingStyle(null);
    _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
            Boolean.FALSE);
    _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
            Boolean.FALSE);
    _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName(
            "http://tempuri.org/", "RecieveMDMDataInsuredDetails"));
    setRequestHeaders(_call);

    setAttachments(_call);
    try {
        logger.info("this is where i get the error:");
        java.lang.Object _resp = _call
                .invoke(new java.lang.Object[] { l_input });
        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException) _resp;
        } else {
            extractAttachments(_call);
            try {
                return (org.tempuri.UpdateInsuredDetails_Output) _resp;
            } catch (java.lang.Exception _exception) {
                return (org.tempuri.UpdateInsuredDetails_Output) org.apache.axis.utils.JavaUtils
                        .convert(
                                _resp,
                                org.tempuri.UpdateInsuredDetails_Output.class);
            }
        }
    } catch (org.apache.axis.AxisFault axisFaultException) {
        throw axisFaultException;
    }
}

这就是我调用方法 recieveMDMDataInsuredDetails 的方式:

InsuredDetailsLocator MDP_locator =new InsuredDetailsLocator(); 
            MDP_locator.setInsuredDetailsSoapEndpointAddress("http://mgnt184:8056/MDP_InsuredDetails_WS/InsuredDetails.asmx?wsdl");
            InsuredDetailsSoapStub service= (InsuredDetailsSoapStub)MDP_locator.getInsuredDetailsSoap(); 
            UpdateInsuredDetails_Input request_MDP =new UpdateInsuredDetails_Input();
            request_MDP.setSystemName(urlProps.getProperty("xxx"));
            request_MDP.setSystemPassword(urlProps.getProperty("xxxx"));

            request_MDP.setMS_ZIHUY(insuree.getMsZihuy());
            request_MDP.setKOD_CHEVRA(insuree.getKodChevra());
            request_MDP.setFAMILY_NAME(insuree.getFamilyName());
            request_MDP.setFIRST_NAME(insuree.getFirstName());
            request_MDP.setKOD_MIN(insuree.getKodMin());
//calling the method:   
UpdateInsuredDetails_Output response_MDP= service.recieveMDMDataInsuredDetails(request_MDP);

可能 input 是来自 xml 文件的:

<wsdl:portType name="InsuredDetailsSoap">
<wsdl:operation name="GetInsuredDetails">
<wsdl:input message="tns:GetInsuredDetailsSoapIn" />
<wsdl:output message="tns:GetInsuredDetailsSoapOut" />
</wsdl:operation>
<wsdl:operation name="UpdateInsuredDetails">
<wsdl:input message="tns:UpdateInsuredDetailsSoapIn" />
<wsdl:output message="tns:UpdateInsuredDetailsSoapOut" />
</wsdl:operation>
<wsdl:operation name="RecieveMDMDataInsuredDetails">
<wsdl:input message="tns:RecieveMDMDataInsuredDetailsSoapIn" />
<wsdl:output message="tns:RecieveMDMDataInsuredDetailsSoapOut" />
</wsdl:operation>
</wsdl:portType>

最佳答案

这似乎是在说 l_inputnull ...但它不应该是。

但是 l_inputrecieveMDMDataInsuredDetails 方法的参数。

因此,据此,我得出结论,那个 方法是用无效参数调用的。查看(您的?)代码在哪里调用方法等。


如果这没有帮助,请将异常的完整堆栈跟踪添加到您的问题中,以及调用 recieveMDMDataInsuredDetails 的代码。

(请修复您代码中的拼写错误。这让我的大脑受伤!“recieve” -> “receive”!!!)

关于java 服务器无法处理请求值不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15361068/

相关文章:

java - Maven 资源过滤不会复制未过滤的文件

java - 如何在不安装到 keystore 的情况下连接到 SSL 证书 Web 服务?

java - java.util.Map 类不是公共(public)的或不允许在 WebService 中使用自动生成的类进行实例化

php - mysqli_connect() : (HY000/2002): Can't connect to local MySQL server through socket

apache - 带有异常的mod_rewrite

django - 我如何检测 Django 中终止的连接?

java - 如何在Android中计算ArrayList的连续值

java - 如何在Java中编写连续命名的文件?

java - 将多个值与单个键相关联并保持值的顺序

java - WCF 客户端绑定(bind)以签署对 Java Web 服务的请求正文?