Smart device web service client
Hi!
I can't get web service client working using Visual Studio 2003 (either VB.NET or VC#).
I created a web service in Java, and published to Glassfish (aka Sun App Server 9). Tested using his web interface, works like a charm.
Then I've created a Visual C# Windows application, added a web reference and either methods that return bool and complex objects works - I was amazed!
So, I've created a new Visual C# Smart App project, added a web reference. When I complete this task, and try to compile, I get:
D:\newPP\SmartDeviceApplication3\Web References\usuario\Reference.cs(36): 'System.Xml.Serialization.XmlElementAttribute' does not contain a definition for 'Form'
and so on!
The code is:
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace="http://webservice.everest.info/", ResponseNamespace="http://webservice.everest.info/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
publicbool validaUsuario([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]string usuario, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]string senha) {
object[] results =this.Invoke("validaUsuario",newobject[] {
usuario,
senha});
return ((bool)(results[0]));
}
The namespace is correct, and this code appear be the same as created for Windows application.
If I remove offending code, smart device always send "null" as call parameters, and receive everything as null as return (tested with Emultator and a CN2 device).
I know it's a smart device problem, because Window application written using same visual studio works.
Could someone point me how to accomplish this?
Here is wsdl file:
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://webservice.everest.info/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://webservice.everest.info/" name="UsuarioWSBeanService">
<types>
<xsd:schema>
<xsd:import namespace="http://webservice.everest.info/" schemaLocation="http://192.168.0.1:8080/UsuarioWSBeanService/UsuarioWSBean/__container$publishing$subctx/META-INF/wsdl/UsuarioWSBeanService_schema1.xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"/>
</xsd:schema>
</types>
<message name="validaUsuario">
<part name="parameters" element="tns:validaUsuario"/>
</message>
<message name="validaUsuarioResponse">
<part name="parameters" element="tns:validaUsuarioResponse"/>
</message>
<message name="SessionException">
<part name="fault" element="tns:SessionException"/>
</message>
<message name="trocaSenha">
<part name="parameters" element="tns:trocaSenha"/>
</message>
<message name="trocaSenhaResponse">
<part name="parameters" element="tns:trocaSenhaResponse"/>
</message>
<message name="getUsuario">
<part name="parameters" element="tns:getUsuario"/>
</message>
<message name="getUsuarioResponse">
<part name="parameters" element="tns:getUsuarioResponse"/>
</message>
<portType name="UsuarioWSBean">
<operation name="validaUsuario">
<input message="tns:validaUsuario"/>
<output message="tns:validaUsuarioResponse"/>
<fault name="SessionException" message="tns:SessionException"/>
</operation>
<operation name="trocaSenha">
<input message="tns:trocaSenha"/>
<output message="tns:trocaSenhaResponse"/>
<fault name="SessionException" message="tns:SessionException"/>
</operation>
<operation name="getUsuario">
<input message="tns:getUsuario"/>
<output message="tns:getUsuarioResponse"/>
<fault name="SessionException" message="tns:SessionException"/>
</operation>
</portType>
<binding name="UsuarioWSBeanPortBinding" type="tns:UsuarioWSBean">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="validaUsuario">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="SessionException">
<soap:fault name="SessionException" use="literal"/>
</fault>
</operation>
<operation name="trocaSenha">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="SessionException">
<soap:fault name="SessionException" use="literal"/>
</fault>
</operation>
<operation name="getUsuario">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="SessionException">
<soap:fault name="SessionException" use="literal"/>
</fault>
</operation>
</binding>
<service name="UsuarioWSBeanService">
<port name="UsuarioWSBeanPort" binding="tns:UsuarioWSBeanPortBinding">
<soap:address location="http://192.168.0.1:8080/UsuarioWSBeanService/UsuarioWSBean" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"/>
</port>
</service>
</definitions>
Regards,
Richter

