so i can't help you... I never try the stub procedure yet...

Sorry
Ivan
----- Original Message ----- 
From: "Yuvraj Waswani" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, August 25, 2003 9:43 AM
Subject: RE: Specifying Bean namespace in WSDL


>>1 - You don't specify the Bean's Serializer and Deserializer in the Call
object
I am not using dynamic client (Apache Call object). I am creating stub
(client side proxies) from the tool WSDL2Java. It does the job of
registering serializer and dese.. for the bean.

>>2 - You don't deploy correctly the services
The service is correctly deployed and working with a dynamic client. It also
works if I manually change the namespace (QName) of the bean to the same
specified in wsdd.

Once again , the stub created by this tool takes in the namespace (QName) of
the bean from WSDL file. But the WSDL file contains an autogenerated QName
(namespace) rather than the one I specify in wsdd. I need to provide this
'bean' namespace as parameter to Java2WSDL, and I do not know how to do it.


-----Original Message-----
From: � Happy � [mailto:[EMAIL PROTECTED]
Sent: Monday, August 25, 2003 12:45 PM
To: [EMAIL PROTECTED]
Subject: Re: Specifying Bean namespace in WSDL


I had the same problem and after trying more solution i get the goal...
Try to see this example
http://javaboutique.internet.com/tutorials/Axis2/testing.html.
The problems could be 2:

1 - You don't specify the Bean's Serializer and Deserializer in the Call
object
2 - You don't deploy correctly the services ( try to connect to
http://tomcatURL:8080/axis/servlet/AxisServlet and see if you service is
correctly deployed; if you see a blank page probably your WSDD file is
wrong, so undeploy the service and redeploy again the correct one )

I'm using axis from 2 weeks and this is the first serious problem i get,
there's no useful doc on the net about this problem...

Bye
Ivan
----- Original Message ----- 
From: Yuvraj Waswani
To: [EMAIL PROTECTED] (E-mail) ; [EMAIL PROTECTED] (E-mail)
Sent: Friday, August 22, 2003 11:51 AM
Subject: Specifying Bean namespace in WSDL


Hi,

Is there a way to tell Java2WSDL tool , namespace for a Bean object being
passed as parameter to my webservice; so that the same namespace is
registered against the bean inside the generated client stub (using
WSDL2Java) ?

I use Java2WSDL to generate WSDL for a webservice which takes in my value
object as a parameter. Although I have provided a "QName" for my value
object in wsdd (server-config.wsdd), the output WSDL file which is generated
has an auto-generated namespace for my value object. Therefore, when this
WSDL file is given to WSDL2Java for generating client stub, the stub
contains the auto-generated namespace against my value object, instead of
the namespace (qname) i specified in wsdd. This apparently causes the
webservice to fail, as the Axis server is not able to find deserializer for
that auto generated namespace.

The exception I get :
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultString: org.xml.sax.SAXException: Deserializing parameter 'in0':
could not find deserializer for type {http://hello.bus}HelloDetail
 faultActor: null
 faultDetail:
 stackTrace: org.xml.sax.SAXException: Deserializing parameter 'in0':  could
not find deserializer for type {http://hello.bus}HelloDetail


Here is the snippet from wsdd :
 <service name="HelloWebService" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="testaxis.detailws.service.HelloWS"/>
  <beanMapping languageSpecificType="java:bus.hello.HelloDetail"
qname="ns1:MyDetailObject" xmlns:ns1="recentNamespace"/>
 </service>


Here is the WSDL excerpt which is generated for this web service :
  <?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="detailWebServiceNameSpace"
xmlns="http://schemas.xmlsoap.org/wsdl/";
xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:impl="abcdefgh"
xmlns:intf="detailWebServiceNameSpace"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:tns1="http://hello.bus"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
- <wsdl:types>
- <schema targetNamespace="http://hello.bus";
xmlns="http://www.w3.org/2001/XMLSchema";>
  <import namespace="http://schemas.xmlsoap.org/soap/encoding/"; />
- <complexType name="HelloDetail">
- <sequence>
  <element name="accessKey" type="xsd:int" />
  <element name="helloMessage" nillable="true" type="xsd:string" />
  </sequence>
  </complexType>
  <element name="HelloDetail" nillable="true" type="tns1:HelloDetail" />
  </schema>
  </wsdl:types>
- <wsdl:message name="sayHelloMessageRequest">
  <wsdl:part name="in0" type="tns1:HelloDetail" />
  </wsdl:message>


The stub generated using this WSDL contains the following code :
    qName = new javax.xml.namespace.QName("http://hello.bus";,
"HelloDetail");
         cachedSerQNames.add(qName);
         cls = bus.hello.HelloDetail.class;
       _call.registerTypeMapping(cls, qName, sf, df, false);




Reply via email to