我想使用KSoap2来调用WCF。但是发生了一些错误。 我不知道是否需要设置OperationContract的其他属性?
有人可以帮助我吗?
我非常感谢你
这是我的WCF OperationContract
[OperationContract (Name = "HelloWorld")]
string HelloWorld(string username);
这是我的WSDL
<wsdl:operation name="ComparePassWord">
<soap:operation soapAction="http://tempuri.org/IITRIService/ComparePassWord" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
这是我的Java代码
SoapObject request = new SoapObject(NAMESPACE, "HelloWorld");
PropertyInfo HelloWorld = new PropertyInfo();
HelloWorld.setType(String.class);
HelloWorld.setName("username");
HelloWorld.setValue(username);
request.addProperty(HelloWorld);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
// Set output SOAP object
envelope.setOutputSoapObject(request);
// Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
try {
// Invoke web service
androidHttpTransport.call(SOAP_ACTION_URL,envelope);
} catch (Exception e) {
//Print error
e.printStackTrace();
//Assign error message to resTxt
resTxt = "Error occured";
}
SoapObject response = null;
try {
// Get the response
response = (SoapObject) envelope.bodyIn;
}
catch (Exception e) {
//Print error
e.printStackTrace();
//Assign error message to resTxt
return new String[]{"fail"};
}
答案 0 :(得分:0)
我通过将我的WCF更新到版本4.5来解决此问题。
WCF将仅显示WSDL本身的操作 - 数据结构记录在链接到WSDL文件的XSD文件中。
当我将WCF更新为版本时。我可以获得包括所有XSD元素的整个WSDL