gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 23:45:00 24 4
gpt4 key购买 nike

我遇到了这个异常:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com