You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Ravi Krishnamurthy <ra...@savvion.com> on 2006/05/25 03:58:41 UTC

Re: String[] for xsd:anyType with axis1.2.1

More information:
The exception that I mentioned happens only if the webservice is a 
document/literal/wrapped but with RPC it is fine.

Is there is any known bug related to wrapped/literal style, anytype and 
ArrayOfString and axis1.2.1

Thanks,
Ravi

Ravi Krishnamurthy wrote:

> Hello;
> One of the javabean I have registered as a bean mapping has a field of 
> Object type which corresponds to xsd:anyType. But the types  for 
> Object are always primitive types. As long they are primitives it 
> works fine. I tried to pass String[] and it started to throw exception 
> at the test cases generated by wsdl2java when I executed the JUnit 
> test case as below:
>
> AxisFault
>  faultCode: 
> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>  faultSubcode:
>  faultString: org.xml.sax.SAXException: No deserializer for 
> {http://www.w3.org/2001/XMLSchema}anyType
>  faultActor:
>  faultNode:
>  faultDetail:
>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: 
> No deserializer for {http://www.w3.org/2001/XMLSchema}anyType
>     at 
> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:314)
>     at 
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
>     at 
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
>     at 
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
>     at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>     at org.apache.axis.client.Call.invoke(Call.java:2448)
>     at org.apache.axis.client.Call.invoke(Call.java:2347)
>     at org.apache.axis.client.Call.invoke(Call.java:1804)
>     at 
> com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot(BizLogic1SoapBindingStub.java:1704)
>     at 
> com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot(WorkFlowWSServiceTestCase.java:457)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:324)
>     at junit.framework.TestCase.runTest(TestCase.java:216)
>     at junit.framework.TestCase.runBare(TestCase.java:188)
>     at junit.framework.TestResult$1.protect(TestResult.java:150)
>     at junit.framework.TestResult.runProtected(TestResult.java:168)
>     at junit.framework.TestResult.run(TestResult.java:153)
>     at junit.framework.TestCase.run(TestCase.java:179)
>     at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
>     at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
>     at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>
>     {http://xml.apache.org/axis/}hostname:chennai
>
> The returned soap envelop looks like below:
> HTTP/1.1 200 OK
>
> Date: Wed, 24 May 2006 23:45:26 GMT
>
> Content-Type: text/xml; charset=utf-8
>
> Connection: Close
>
>
>
> <?xml version="1.0" encoding="utf-8"?>
>    <soapenv:Envelope 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>       <soapenv:Body>
>          <getProcessTemplateDataSlotResponse 
> xmlns="http://workflow.webservice.savvion.com">
>             <getProcessTemplateDataSlotReturn>
>                <choices xsi:nil="true"/>
>                <isReadOnly>false</isReadOnly>
>                <isWriteOnly>false</isWriteOnly>
>                <name>listds</name>
>                <ptid>1</ptid>
>                <type>LIST</type>
>                <value>
>                   <value>one</value>
>                   <value>ten</value>
>                </value>
>             </getProcessTemplateDataSlotReturn>
>          </getProcessTemplateDataSlotResponse>
>       </soapenv:Body>
>    </soapenv:Envelope>
>
> and the xsd:anytype if for the following element:
>                 <value>
>                   <value>one</value>
>                   <value>ten</value>
>                </value>
>
> Would appreciate any help on this.
>
> Thanks,
> Ravi




---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: String[] for xsd:anyType with axis1.2.1

Posted by Ravi Krishnamurthy <ra...@savvion.com>.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org

Re: String[] for xsd:anyType with axis1.2.1

Posted by Ravi Krishnamurthy <ra...@savvion.com>.
Thanks Xinjun.

But the interesting thing is for non array types, the soap message 
carries the types. And for Array types, with RPC encoding the type 
information is carried. Only with document/literal/wrapped the type 
information is left out for arrays.

I will make the change as xsd:anyType[] and let you know.
Regards,
Ravi
Xinjun Chen wrote:

> Hi Ravi,
>  
> I have also run into "No deserializer for..." exception before, but 
> yours is a little different from mine. After look into your wsdl, I 
> think the problem lies in the "value" element. Your client does not 
> know how to deserialize the returned element                
>                <value>
>                   <value>one</value>
>                   <value>two</value>
>                </value>
>  
> How can you expect Axis understand the returned XML without given a 
> schema for it? I don't think there is a solution for deserialization 
> of universal Object or anyType unless you use Message style operation. 
> It means you treat the response as a Message, then your client program 
> consumes the XML message. In this way, in fact your client still needs 
> to know the schema of the message.
>  
>  
>  
> Regards,
> Xinjun
>  
>
>  
> On 5/26/06, *Ravi Krishnamurthy* <ravik@savvion.com 
> <ma...@savvion.com>> wrote:
>
>     XinJun/Anne:
>     I was monitoring the soap message using the tcp monitor.
>
>     The soapresponse for the RPC is as below:
>     <?xml version="1.0" encoding="utf-8"?>
>        <soapenv:Envelope xmlns:soapenv=
>     "http://schemas.xmlsoap.org/soap/envelope/"
>     <http://schemas.xmlsoap.org/soap/envelope/>
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     <http://www.w3.org/2001/XMLSchema>
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     <http://www.w3.org/2001/XMLSchema-instance>>
>           <soapenv:Body>
>              <ns1:getSimpleBeanResponse
>     soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>     <http://schemas.xmlsoap.org/soap/encoding/>
>     xmlns:ns1="http://testanytyperpc.webservice.com"
>     <http://testanytyperpc.webservice.com/>>
>                 <getSimpleBeanReturn href="#id0"/>
>              </ns1:getSimpleBeanResponse>
>              <multiRef id="id0" soapenc:root="0"
>     soapenv:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/"
>     <http://schemas.xmlsoap.org/soap/encoding/>
>     xsi:type="ns2:SimpleJavaBeanRPC" xmlns:soapenc=
>     "http://schemas.xmlsoap.org/soap/encoding/"
>     <http://schemas.xmlsoap.org/soap/encoding/>
>     xmlns:ns2="http://testanytyperpc.webservice.com"
>     <http://testanytyperpc.webservice.com/>>
>                 <name xsi:type="xsd:string" xsi:nil="true"/>
>                 <value soapenc:arrayType="xsd:string[2]"
>     xsi:type="soapenc:Array">
>                    <value xsi:type="xsd:string">one</value>
>                    <value xsi:type="xsd:string">two</value>
>                 </value>
>              </multiRef>
>           </soapenv:Body>
>        </soapenv:Envelope>
>
>     The soap response for the doc/lit/wrapped is as below:
>
>
>     <?xml version="1.0" encoding="utf-8"?>
>        <soapenv:Envelope xmlns:soapenv=
>     "http://schemas.xmlsoap.org/soap/envelope/"
>     <http://schemas.xmlsoap.org/soap/envelope/>
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     <http://www.w3.org/2001/XMLSchema>
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>     <http://www.w3.org/2001/XMLSchema-instance>>
>           <soapenv:Body>
>              <getSimpleBeanResponse
>     xmlns="http://testanytype.webservice.com"
>     <http://testanytype.webservice.com/>>
>                 <getSimpleBeanReturn>
>                    <name xsi:nil="true"/>
>                    <value>
>                       <value>one</value>
>                       <value>two</value>
>                    </value>
>                 </getSimpleBeanReturn>
>              </getSimpleBeanResponse>
>           </soapenv:Body>
>        </soapenv:Envelope>
>
>     Interestingly the value tag does not contain the type information
>     with the docl/lit/wrapped but in the rpc/encoded it does.
>
>     Any ideas are welcome.
>     Also since my webservice needed to be accessed by the .NET client,
>     I tried to use soap/encoded since it worked but when I used visual
>     studio 2005 found out when I send String[2}, there is an third
>     element that comes with value null. Looks like the VB client is
>     added one more index with value null and my webservice throws
>     NullPointer since the null valeu is never expected.
>
>     Regards,
>      
>     Ravi
>
>
>     Ravi Krishnamurthy wrote:
>
>>     XinJun:
>>     The exception stack trace on the client side is as below:
>>     AxisFault
>>      faultCode: {
>>     http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>>      faultSubcode:
>>      faultString: org.xml.sax.SAXException: No deserializer for {
>>     http://www.w3.org/2001/XMLSchema}anyType
>>      faultActor:
>>      faultNode:
>>      faultDetail:
>>         {http://xml.apache.org/axis/
>>     <http://xml.apache.org/axis/>}stackTrace:org.xml.sax.SAXException:
>>     No deserializer for {http://www.w3.org/2001/XMLSchema}anyType
>>         at
>>     org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:314)
>>         at
>>     org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
>>         at org.apache.axis.message.SAX2EventRecorder.replay
>>     (SAX2EventRecorder.java:165)
>>         at
>>     org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
>>         at
>>     org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>>         at org.apache.axis.message.RPCElement.getParams
>>     (RPCElement.java:384)
>>         at org.apache.axis.client.Call.invoke(Call.java:2467)
>>         at org.apache.axis.client.Call.invoke(Call.java:2366)
>>         at org.apache.axis.client.Call.invoke(Call.java:1812)
>>         at
>>     com.webservice.testanytype.TestAnyTypeSoapBindingStub.getSimpleBean
>>     (TestAnyTypeSoapBindingStub.java:191)
>>         at
>>     com.webservice.testanytype.AnyTypeArrayTestServiceTestCase.test2TestAnyTypeGetSimpleBean(AnyTypeArrayTestServiceTestCase.java:61)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>>         at
>>     sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>>     sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke (Method.java:324)
>>         at junit.framework.TestCase.runTest(TestCase.java:216)
>>         at junit.framework.TestCase.runBare(TestCase.java:188)
>>         at junit.framework.TestResult$1.protect(TestResult.java:150)
>>         at junit.framework.TestResult.runProtected (TestResult.java:168)
>>         at junit.framework.TestResult.run(TestResult.java:153)
>>         at junit.framework.TestCase.run(TestCase.java:179)
>>         at
>>     org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java
>>     :478)
>>         at
>>     org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
>>         at
>>     org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>>
>>         { http://xml.apache.org/axis/}hostname:chennai
>>
>>     org.xml.sax.SAXException: No deserializer for
>>     {http://www.w3.org/2001/XMLSchema
>>     <http://www.w3.org/2001/XMLSchema>}anyType
>>         at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
>>         at org.apache.axis.client.Call.invoke(Call.java:2470)
>>         at org.apache.axis.client.Call.invoke(Call.java:2366)
>>         at org.apache.axis.client.Call.invoke (Call.java:1812)
>>         at
>>     com.webservice.testanytype.TestAnyTypeSoapBindingStub.getSimpleBean(TestAnyTypeSoapBindingStub.java:191)
>>         at
>>     com.webservice.testanytype.AnyTypeArrayTestServiceTestCase.test2TestAnyTypeGetSimpleBean
>>     (AnyTypeArrayTestServiceTestCase.java:61)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>>     sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
>>     (DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:324)
>>         at junit.framework.TestCase.runTest(TestCase.java:216)
>>         at junit.framework.TestCase.runBare(TestCase.java:188)
>>         at junit.framework.TestResult$1.protect(TestResult.java:150)
>>         at junit.framework.TestResult.runProtected(TestResult.java:168)
>>         at junit.framework.TestResult.run(TestResult.java:153)
>>         at junit.framework.TestCase.run (TestCase.java:179)
>>         at
>>     org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
>>         at
>>     org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
>>         at
>>     org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>>     Caused by: org.xml.sax.SAXException: No deserializer for {
>>     http://www.w3.org/2001/XMLSchema}anyType
>>         at
>>     org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:314)
>>         at
>>     org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java
>>     :1035)
>>         at
>>     org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
>>         at
>>     org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
>>         at org.apache.axis.message.RPCElement.deserialize
>>     (RPCElement.java:236)
>>         at
>>     org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>>         at org.apache.axis.client.Call.invoke(Call.java:2467)
>>         ... 17 more
>>
>>
>>     Thanks,
>>     Ravi
>>     Ravi Krishnamurthy wrote:
>>
>>>     Hello XinJun:
>>>     I have attached the zip file called testanytype.zip that
>>>     contains the wsdl and also the testcase generated by the axis
>>>     wsdl2java.
>>>
>>>     Client  Program:
>>>     Please look at the file: AnyTypeArrayTestServiceTestCase
>>>                  method: test2TestAnyTypeGetSimpleBean()
>>>
>>>     wsdl part of the program should refer to the line 70 in
>>>     TestAnytype.wsdl and eventually to the definition of the
>>>     SimpleBean which is line 14:
>>>            <complexType name="SimpleJavaBean">
>>>         <sequence>
>>>          <element name="name" nillable="true" type="xsd:string"/>
>>>          <element name="value" nillable="true" type="xsd:anyType"/>
>>>         </sequence>
>>>        </complexType>
>>>
>>>     The server.confif that describes the services looks like below:
>>>
>>>     <service name="TestAnyType" provider="java:RPC" style="wrapped"
>>>     use="literal">
>>>          <namespace>http://testanytype.webservice.com
>>>     <http://testanytype.webservice.com/></namespace>
>>>          <parameter name="allowedMethods" value="*"/>
>>>          <parameter name="scope" value="request"/>
>>>          <parameter name="className" value="test.AnyTypeArrayTest"/>
>>>          <beanMapping languageSpecificType="java: test.SimpleBean"
>>>     xmlns:ns="http://testanytype.webservice.com"
>>>     <http://testanytype.webservice.com/> qname="ns:SimpleJavaBean"/>
>>>      </service>
>>>
>>>     Also I ahve attached the zip file test.zip that contains the
>>>     webservice source file: AnyTypeArrayTest and the java bean file
>>>     SimpleBean.
>>>
>>>     Eventually I want to use this webservice pblished using axis
>>>     from a .NET client.
>>>
>>>     Thanks for your help in advance,
>>>     Ravi
>>>
>>>     Xinjun Chen wrote:
>>>
>>>>     Hi Ravi,
>>>>      
>>>>     Can you provide relevant part of WSDL and client code?
>>>>      
>>>>     Regards,
>>>>     Xinjun
>>>>
>>>>      
>>>>     On 5/25/06, *Anne Thomas Manes* <atmanes@gmail.com
>>>>     <ma...@gmail.com>> wrote:
>>>>
>>>>         Perhaps you need Object[] rather than Object.
>>>>          
>>>>
>>>>         Anne
>>>>
>>>>
>>>>         On 5/25/06, *Hariharasudhan.D Dhakshinamoorthy* <
>>>>         hariharasudhan.d@gmail.com
>>>>         <ma...@gmail.com>> wrote:
>>>>
>>>>             Ravi ,
>>>>             i too have the same problem , could you figure out
>>>>             something ?
>>>>
>>>>              
>>>>             On 5/25/06, *Ravi Krishnamurthy* <ravik@savvion.com
>>>>             <ma...@savvion.com>> wrote:
>>>>
>>>>                 Hello;
>>>>                 Would be evry helpful if someone could reply this
>>>>                 email.
>>>>
>>>>                 thanks,
>>>>                 Ravi
>>>>
>>>>                 Ravi Krishnamurthy wrote:
>>>>
>>>>> More information:
>>>>> The exception that I mentioned happens only if the
>>>>                 webservice is a
>>>>> document/literal/wrapped but with RPC it is fine.
>>>>>
>>>>> Is there is any known bug related to
>>>>                 wrapped/literal style, anytype
>>>>> and ArrayOfString and axis1.2.1
>>>>>
>>>>> Thanks,
>>>>> Ravi
>>>>>
>>>>> Ravi Krishnamurthy wrote:
>>>>>
>>>>>> Hello;
>>>>>> One of the javabean I have registered as a bean
>>>>                 mapping has a field
>>>>>> of Object type which corresponds to xsd:anyType.
>>>>                 But the types  for
>>>>>> Object are always primitive types. As long they
>>>>                 are primitives it
>>>>>> works fine. I tried to pass String[] and it
>>>>                 started to throw
>>>>>> exception at the test cases generated by
>>>>                 wsdl2java when I executed
>>>>>> the JUnit test case as below:
>>>>>>
>>>>>> AxisFault
>>>>>>  faultCode:
>>>>>> {
>>>>                 http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>>>>                 <http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
>>>>>>  faultSubcode:
>>>>>>  faultString: org.xml.sax.SAXException: No
>>>>                 deserializer for
>>>>>> { http://www.w3.org/2001/XMLSchema}anyType
>>>>                 <http://www.w3.org/2001/XMLSchema%7DanyType>
>>>>>>  faultActor:
>>>>>>  faultNode:
>>>>>>  faultDetail:
>>>>>>     {
>>>>                 http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException
>>>>                 <http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXException>:
>>>>>> No deserializer for {
>>>>                 http://www.w3.org/2001/XMLSchema}anyType
>>>>                 <http://www.w3.org/2001/XMLSchema%7DanyType>
>>>>>>     at
>>>>>>
>>>>                 org.apache.axis.encoding.ser.BeanDeserializer.onStartChild
>>>>                 (BeanDeserializer.java:314)
>>>>>>
>>>>>>     at
>>>>>>
>>>>                 org.apache.axis.encoding.DeserializationContext.startElement
>>>>                 (DeserializationContext.java:1035)
>>>>>>
>>>>>>     at
>>>>>> org.apache.axis.message.SAX2EventRecorder.replay
>>>>                 (SAX2EventRecorder.java:165)
>>>>>>
>>>>>>     at
>>>>>>
>>>>                 org.apache.axis.message.MessageElement.publishToHandler
>>>>                 (MessageElement.java:1141)
>>>>>>
>>>>>>     at
>>>>>> org.apache.axis.message.RPCElement.deserialize
>>>>                 (RPCElement.java:236)
>>>>>>     at
>>>>                 org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>>>>
>>>>>>     at
>>>>                 org.apache.axis.client.Call.invoke(Call.java:2448)
>>>>>>     at org.apache.axis.client.Call.invoke
>>>>                 (Call.java:2347)
>>>>>>     at
>>>>                 org.apache.axis.client.Call.invoke(Call.java:1804)
>>>>>>     at
>>>>>>
>>>>                 com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot(BizLogic1SoapBindingStub.java
>>>>                 :1704)
>>>>>>
>>>>>>     at
>>>>>>
>>>>                 com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot
>>>>                 (WorkFlowWSServiceTestCase.java:457)
>>>>>>
>>>>>>     at
>>>>                 sun.reflect.NativeMethodAccessorImpl.invoke0
>>>>                 (Native Method)
>>>>>>     at
>>>>>>
>>>>                 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>>>                 :39)
>>>>>>
>>>>>>     at
>>>>>>
>>>>                 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
>>>>                 :25)
>>>>>>
>>>>>>     at
>>>>                 java.lang.reflect.Method.invoke(Method.java:324)
>>>>>>     at
>>>>                 junit.framework.TestCase.runTest(TestCase.java:216)
>>>>>>     at
>>>>                 junit.framework.TestCase.runBare(TestCase.java :188)
>>>>>>     at
>>>>                 junit.framework.TestResult$1.protect(TestResult.java:150)
>>>>>>     at junit.framework.TestResult.runProtected
>>>>                 (TestResult.java:168)
>>>>>>     at
>>>>                 junit.framework.TestResult.run(TestResult.java :153)
>>>>>>     at
>>>>                 junit.framework.TestCase.run(TestCase.java:179)
>>>>>>     at
>>>>>>
>>>>                 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
>>>>                 (RemoteTestRunner.java:478)
>>>>>>
>>>>>>     at
>>>>>>
>>>>                 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
>>>>>>
>>>>>>     at
>>>>>>
>>>>                 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
>>>>                 (RemoteTestRunner.java :196)
>>>>>>
>>>>>>
>>>>>>     {http://xml.apache.org/axis/}hostname:chennai
>>>>                 <http://xml.apache.org/axis/%7Dhostname:chennai>
>>>>>>
>>>>>> The returned soap envelop looks like below:
>>>>>> HTTP/1.1 200 OK
>>>>>>
>>>>>> Date: Wed, 24 May 2006 23:45:26 GMT
>>>>>>
>>>>>> Content-Type: text/xml; charset=utf-8
>>>>>>
>>>>>> Connection: Close
>>>>>>
>>>>>>
>>>>>>
>>>>>> <?xml version="1.0" encoding="utf-8"?>
>>>>>>    <soapenv:Envelope
>>>>>> xmlns:soapenv="
>>>>                 http://schemas.xmlsoap.org/soap/envelope/
>>>>                 <http://schemas.xmlsoap.org/soap/envelope/>"
>>>>>> xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
>>>>>>
>>>>                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>>>>                 <http://www.w3.org/2001/XMLSchema-instance>">
>>>>>>       <soapenv:Body>
>>>>>>          <getProcessTemplateDataSlotResponse
>>>>>> xmlns=" http://workflow.webservice.savvion.com
>>>>                 <http://workflow.webservice.savvion.com/>">
>>>>>>             <getProcessTemplateDataSlotReturn>
>>>>>>                <choices xsi:nil="true"/>
>>>>>>                <isReadOnly>false</isReadOnly>
>>>>>>                <isWriteOnly>false</isWriteOnly>
>>>>>>                <name>listds</name>
>>>>>>                <ptid>1</ptid>
>>>>>>                <type>LIST</type>
>>>>>>                <value>
>>>>>>                   <value>one</value>
>>>>>>                   <value>ten</value>
>>>>>>                </value>
>>>>>>             </getProcessTemplateDataSlotReturn>
>>>>>>          </getProcessTemplateDataSlotResponse>
>>>>>>       </soapenv:Body>
>>>>>>    </soapenv:Envelope>
>>>>>>
>>>>>> and the xsd:anytype if for the following element:
>>>>>>                 <value>
>>>>>>                   <value>one</value>
>>>>>>                   <value>ten</value>
>>>>>>                </value>
>>>>>>
>>>>>> Would appreciate any help on this.
>>>>>>
>>>>>> Thanks,
>>>>>> Ravi
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail:
>>>>                 axis-user-unsubscribe@ws.apache.org
>>>>                 <ma...@ws.apache.org>
>>>>> For additional commands, e-mail:
>>>>                 axis-user-help@ws.apache.org
>>>>                 <ma...@ws.apache.org>
>>>>>
>>>>
>>>>
>>>>
>>>>                 ---------------------------------------------------------------------
>>>>
>>>>                 To unsubscribe, e-mail:
>>>>                 axis-user-unsubscribe@ws.apache.org
>>>>                 <ma...@ws.apache.org>
>>>>                 For additional commands, e-mail:
>>>>                 axis-user-help@ws.apache.org
>>>>                 <ma...@ws.apache.org>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>     <ma...@ws.apache.org> For additional
>     commands, e-mail: axis-user-help@ws.apache.org
>     <ma...@ws.apache.org>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: String[] for xsd:anyType with axis1.2.1

Posted by Xinjun Chen <xj...@gmail.com>.
Hi Ravi,

I have also run into "No deserializer for..." exception before, but yours is
a little different from mine. After look into your wsdl, I think the problem
lies in the "value" element. Your client does not know how to deserialize
the returned element
               <value>
                  <value>one</value>
                  <value>two</value>
               </value>

How can you expect Axis understand the returned XML without given a schema
for it? I don't think there is a solution for deserialization of universal
Object or anyType unless you use Message style operation. It means you treat
the response as a Message, then your client program consumes the XML
message. In this way, in fact your client still needs to know the schema of
the message.



Regards,
Xinjun



On 5/26/06, Ravi Krishnamurthy <ra...@savvion.com> wrote:
>
>  XinJun/Anne:
> I was monitoring the soap message using the tcp monitor.
>
> The soapresponse for the RPC is as below:
> *
> <?xml version="1.0" encoding="utf-8"?>
>    <soapenv:Envelope xmlns:soapenv=
> "http://schemas.xmlsoap.org/soap/envelope/"<http://schemas.xmlsoap.org/soap/envelope/>xmlns:xsd=
> "http://www.w3.org/2001/XMLSchema" <http://www.w3.org/2001/XMLSchema>xmlns:xsi=
> "http://www.w3.org/2001/XMLSchema-instance"<http://www.w3.org/2001/XMLSchema-instance>
> >
>       <soapenv:Body>
>          <ns1:getSimpleBeanResponse soapenv:encodingStyle=
> "http://schemas.xmlsoap.org/soap/encoding/"<http://schemas.xmlsoap.org/soap/encoding/>xmlns:ns1=
> "http://testanytyperpc.webservice.com"<http://testanytyperpc.webservice.com/>
> >
>             <getSimpleBeanReturn href="#id0"/>
>          </ns1:getSimpleBeanResponse>
>          <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle=
> "http://schemas.xmlsoap.org/soap/encoding/"<http://schemas.xmlsoap.org/soap/encoding/>xsi:type="ns2:SimpleJavaBeanRPC" xmlns:soapenc=
> "http://schemas.xmlsoap.org/soap/encoding/"<http://schemas.xmlsoap.org/soap/encoding/>xmlns:ns2=
> "http://testanytyperpc.webservice.com"<http://testanytyperpc.webservice.com/>
> >
>             <name xsi:type="xsd:string" xsi:nil="true"/>
>             <value soapenc:arrayType="xsd:string[2]"
> xsi:type="soapenc:Array">
>                <value xsi:type="xsd:string">one</value>
>                <value xsi:type="xsd:string">two</value>
>             </value>
>          </multiRef>
>       </soapenv:Body>
>    </soapenv:Envelope>*
>
> The soap response for the doc/lit/wrapped is as below:
>
>
> <?xml version="1.0" encoding="utf-8"?>
>    <soapenv:Envelope xmlns:soapenv=
> "http://schemas.xmlsoap.org/soap/envelope/"<http://schemas.xmlsoap.org/soap/envelope/>xmlns:xsd=
> "http://www.w3.org/2001/XMLSchema" <http://www.w3.org/2001/XMLSchema>xmlns:xsi=
> "http://www.w3.org/2001/XMLSchema-instance"<http://www.w3.org/2001/XMLSchema-instance>
> >
>       <soapenv:Body>
>          <getSimpleBeanResponse xmlns="http://testanytype.webservice.com"<http://testanytype.webservice.com/>
> >
>             <getSimpleBeanReturn>
>                <name xsi:nil="true"/>
>                <value>
>                   <value>one</value>
>                   <value>two</value>
>                </value>
>             </getSimpleBeanReturn>
>          </getSimpleBeanResponse>
>       </soapenv:Body>
>    </soapenv:Envelope>
>
> Interestingly the value tag does not contain the type information with the
> docl/lit/wrapped but in the rpc/encoded it does.
>
> Any ideas are welcome.
> Also since my webservice needed to be accessed by the .NET client, I tried
> to use soap/encoded since it worked but when I used visual studio 2005 found
> out when I send String[2}, there is an third element that comes with value
> null. Looks like the VB client is added one more index with value null and
> my webservice throws NullPointer since the null valeu is never expected.
>
> Regards,
>
> Ravi
>
>
> Ravi Krishnamurthy wrote:
>
> XinJun:
> The exception stack trace on the client side is as below:
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/
> }Server.userException
>  faultSubcode:
>  faultString: org.xml.sax.SAXException: No deserializer for {
> http://www.w3.org/2001/XMLSchema}anyType
>  faultActor:
>  faultNode:
>  faultDetail:
>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: No
> deserializer for {http://www.w3.org/2001/XMLSchema}anyType
>     at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(
> BeanDeserializer.java:314)
>     at org.apache.axis.encoding.DeserializationContext.startElement(
> DeserializationContext.java:1035)
>     at org.apache.axis.message.SAX2EventRecorder.replay(
> SAX2EventRecorder.java:165)
>     at org.apache.axis.message.MessageElement.publishToHandler(
> MessageElement.java:1141)
>     at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>     at org.apache.axis.client.Call.invoke(Call.java:2467)
>     at org.apache.axis.client.Call.invoke(Call.java:2366)
>     at org.apache.axis.client.Call.invoke(Call.java:1812)
>     at com.webservice.testanytype.TestAnyTypeSoapBindingStub.getSimpleBean
> (TestAnyTypeSoapBindingStub.java:191)
>     at
> com.webservice.testanytype.AnyTypeArrayTestServiceTestCase.test2TestAnyTypeGetSimpleBean
> (AnyTypeArrayTestServiceTestCase.java:61)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:324)
>     at junit.framework.TestCase.runTest(TestCase.java:216)
>     at junit.framework.TestCase.runBare(TestCase.java:188)
>     at junit.framework.TestResult$1.protect(TestResult.java:150)
>     at junit.framework.TestResult.runProtected(TestResult.java:168)
>     at junit.framework.TestResult.run(TestResult.java:153)
>     at junit.framework.TestCase.run(TestCase.java:179)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> RemoteTestRunner.java:478)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> RemoteTestRunner.java:344)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> RemoteTestRunner.java:196)
>
>     {http://xml.apache.org/axis/}hostname:chennai
>
> org.xml.sax.SAXException: No deserializer for {
> http://www.w3.org/2001/XMLSchema}anyType
>     at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
>     at org.apache.axis.client.Call.invoke(Call.java:2470)
>     at org.apache.axis.client.Call.invoke(Call.java:2366)
>     at org.apache.axis.client.Call.invoke(Call.java:1812)
>     at com.webservice.testanytype.TestAnyTypeSoapBindingStub.getSimpleBean
> (TestAnyTypeSoapBindingStub.java:191)
>     at
> com.webservice.testanytype.AnyTypeArrayTestServiceTestCase.test2TestAnyTypeGetSimpleBean
> (AnyTypeArrayTestServiceTestCase.java:61)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:324)
>     at junit.framework.TestCase.runTest(TestCase.java:216)
>     at junit.framework.TestCase.runBare(TestCase.java:188)
>     at junit.framework.TestResult$1.protect(TestResult.java:150)
>     at junit.framework.TestResult.runProtected(TestResult.java:168)
>     at junit.framework.TestResult.run(TestResult.java:153)
>     at junit.framework.TestCase.run(TestCase.java:179)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> RemoteTestRunner.java:478)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> RemoteTestRunner.java:344)
>     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> RemoteTestRunner.java:196)
> Caused by: org.xml.sax.SAXException: No deserializer for {
> http://www.w3.org/2001/XMLSchema}anyType
>     at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(
> BeanDeserializer.java:314)
>     at org.apache.axis.encoding.DeserializationContext.startElement(
> DeserializationContext.java:1035)
>     at org.apache.axis.message.SAX2EventRecorder.replay(
> SAX2EventRecorder.java:165)
>     at org.apache.axis.message.MessageElement.publishToHandler(
> MessageElement.java:1141)
>     at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>     at org.apache.axis.client.Call.invoke(Call.java:2467)
>     ... 17 more
>
>
> Thanks,
> Ravi
> Ravi Krishnamurthy wrote:
>
> Hello XinJun:
> I have attached the zip file called testanytype.zip that contains the wsdl
> and also the testcase generated by the axis wsdl2java.
>
> Client  Program:
> Please look at the file: AnyTypeArrayTestServiceTestCase
>              method: test2TestAnyTypeGetSimpleBean()
>
> wsdl part of the program should refer to the line 70 in TestAnytype.wsdland eventually to the definition of the SimpleBean which is line 14:
>        <complexType name="SimpleJavaBean">
>     <sequence>
>      <element name="name" nillable="true" type="xsd:string"/>
>      <element name="value" nillable="true" type="xsd:anyType"/>
>     </sequence>
>    </complexType>
>
> The server.confif that describes the services looks like below:
>
> <service name="TestAnyType" provider="java:RPC" style="wrapped"
> use="literal">
>      <namespace>http://testanytype.webservice.com</namespace>
>      <parameter name="allowedMethods" value="*"/>
>      <parameter name="scope" value="request"/>
>      <parameter name="className" value="test.AnyTypeArrayTest"/>
>      <beanMapping languageSpecificType="java:test.SimpleBean" xmlns:ns=
> "http://testanytype.webservice.com" <http://testanytype.webservice.com/>qname="ns:SimpleJavaBean"/>
>  </service>
>
> Also I ahve attached the zip file test.zip that contains the webservice
> source file: AnyTypeArrayTest and the java bean file SimpleBean.
>
> Eventually I want to use this webservice pblished using axis from a .NET
> client.
>
> Thanks for your help in advance,
> Ravi
>
> Xinjun Chen wrote:
>
> Hi Ravi,
>
> Can you provide relevant part of WSDL and client code?
>
> Regards,
> Xinjun
>
>
> On 5/25/06, Anne Thomas Manes <at...@gmail.com> wrote:
> >
> > Perhaps you need Object[] rather than Object.
> >
> >
> > Anne
> >
> >
> > On 5/25/06, Hariharasudhan.D Dhakshinamoorthy <ha...@gmail.com>
> > wrote:
> > >
> > >  Ravi ,
> > > i too have the same problem , could you figure out something ?
> > >
> > >
> > >  On 5/25/06, Ravi Krishnamurthy <ravik@savvion.com > wrote:
> > > >
> > > > Hello;
> > > > Would be evry helpful if someone could reply this email.
> > > >
> > > > thanks,
> > > > Ravi
> > > >
> > > > Ravi Krishnamurthy wrote:
> > > >
> > > > > More information:
> > > > > The exception that I mentioned happens only if the webservice is a
> > > > > document/literal/wrapped but with RPC it is fine.
> > > > >
> > > > > Is there is any known bug related to wrapped/literal style,
> > > > anytype
> > > > > and ArrayOfString and axis1.2.1
> > > > >
> > > > > Thanks,
> > > > > Ravi
> > > > >
> > > > > Ravi Krishnamurthy wrote:
> > > > >
> > > > >> Hello;
> > > > >> One of the javabean I have registered as a bean mapping has a
> > > > field
> > > > >> of Object type which corresponds to xsd:anyType. But the
> > > > types  for
> > > > >> Object are always primitive types. As long they are primitives it
> > > > >> works fine. I tried to pass String[] and it started to throw
> > > > >> exception at the test cases generated by wsdl2java when I
> > > > executed
> > > > >> the JUnit test case as below:
> > > > >>
> > > > >> AxisFault
> > > > >>  faultCode:
> > > > >> { http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
> > > > >>  faultSubcode:
> > > > >>  faultString: org.xml.sax.SAXException: No deserializer for
> > > > >> { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > > > >>  faultActor:
> > > > >>  faultNode:
> > > > >>  faultDetail:
> > > > >>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException
> > > > <http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXException>:
> > > > >> No deserializer for { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > > > >>     at
> > > > >> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild (
> > > > BeanDeserializer.java:314)
> > > > >>
> > > > >>     at
> > > > >> org.apache.axis.encoding.DeserializationContext.startElement (
> > > > DeserializationContext.java:1035)
> > > > >>
> > > > >>     at
> > > > >> org.apache.axis.message.SAX2EventRecorder.replay (
> > > > SAX2EventRecorder.java:165)
> > > > >>
> > > > >>     at
> > > > >> org.apache.axis.message.MessageElement.publishToHandler (
> > > > MessageElement.java:1141)
> > > > >>
> > > > >>     at
> > > > >> org.apache.axis.message.RPCElement.deserialize (RPCElement.java
> > > > :236)
> > > > >>     at org.apache.axis.message.RPCElement.getParams(
> > > > RPCElement.java:384)
> > > > >>     at org.apache.axis.client.Call.invoke(Call.java:2448)
> > > > >>     at org.apache.axis.client.Call.invoke (Call.java:2347)
> > > > >>     at org.apache.axis.client.Call.invoke(Call.java:1804)
> > > > >>     at
> > > > >>
> > > > com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot
> > > > (BizLogic1SoapBindingStub.java :1704)
> > > > >>
> > > > >>     at
> > > > >>
> > > > com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot(
> > > > WorkFlowWSServiceTestCase.java:457)
> > > > >>
> > > > >>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
> > > > Method)
> > > > >>     at
> > > > >> sun.reflect.NativeMethodAccessorImpl.invoke(
> > > > NativeMethodAccessorImpl.java :39)
> > > > >>
> > > > >>     at
> > > > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > > DelegatingMethodAccessorImpl.java :25)
> > > > >>
> > > > >>     at java.lang.reflect.Method.invoke(Method.java:324)
> > > > >>     at junit.framework.TestCase.runTest(TestCase.java:216)
> > > > >>     at junit.framework.TestCase.runBare(TestCase.java :188)
> > > > >>     at junit.framework.TestResult$1.protect(TestResult.java:150)
> > > > >>     at junit.framework.TestResult.runProtected (TestResult.java
> > > > :168)
> > > > >>     at junit.framework.TestResult.run(TestResult.java :153)
> > > > >>     at junit.framework.TestCase.run(TestCase.java:179)
> > > > >>     at
> > > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (
> > > > RemoteTestRunner.java:478)
> > > > >>
> > > > >>     at
> > > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> > > > RemoteTestRunner.java:344)
> > > > >>
> > > > >>     at
> > > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (
> > > > RemoteTestRunner.java :196)
> > > > >>
> > > > >>
> > > > >>     {http://xml.apache.org/axis/}hostname:chennai
> > > > <http://xml.apache.org/axis/%7Dhostname:chennai>
> > > > >>
> > > > >> The returned soap envelop looks like below:
> > > > >> HTTP/1.1 200 OK
> > > > >>
> > > > >> Date: Wed, 24 May 2006 23:45:26 GMT
> > > > >>
> > > > >> Content-Type: text/xml; charset=utf-8
> > > > >>
> > > > >> Connection: Close
> > > > >>
> > > > >>
> > > > >>
> > > > >> <?xml version="1.0" encoding="utf-8"?>
> > > > >>    <soapenv:Envelope
> > > > >> xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ "
> > > > >> xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
> > > > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
> > > > >>       <soapenv:Body>
> > > > >>          <getProcessTemplateDataSlotResponse
> > > > >> xmlns=" http://workflow.webservice.savvion.com ">
> > > > >>             <getProcessTemplateDataSlotReturn>
> > > > >>                <choices xsi:nil="true"/>
> > > > >>                <isReadOnly>false</isReadOnly>
> > > > >>                <isWriteOnly>false</isWriteOnly>
> > > > >>                <name>listds</name>
> > > > >>                <ptid>1</ptid>
> > > > >>                <type>LIST</type>
> > > > >>                <value>
> > > > >>                   <value>one</value>
> > > > >>                   <value>ten</value>
> > > > >>                </value>
> > > > >>             </getProcessTemplateDataSlotReturn>
> > > > >>          </getProcessTemplateDataSlotResponse>
> > > > >>       </soapenv:Body>
> > > > >>    </soapenv:Envelope>
> > > > >>
> > > > >> and the xsd:anytype if for the following element:
> > > > >>                 <value>
> > > > >>                   <value>one</value>
> > > > >>                   <value>ten</value>
> > > > >>                </value>
> > > > >>
> > > > >> Would appreciate any help on this.
> > > > >>
> > > > >> Thanks,
> > > > >> Ravi
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > > >
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > >
> > > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > >
> > > >
> > >
> >
>
>
>
>  --------------------------------------------------------------------- To
> unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For additional
> commands, e-mail: axis-user-help@ws.apache.org
>

Re: String[] for xsd:anyType with axis1.2.1

Posted by Xinjun Chen <xj...@gmail.com>.
Hi Ravi,

Can you provide relevant part of WSDL and client code?

Regards,
Xinjun


On 5/25/06, Anne Thomas Manes <at...@gmail.com> wrote:
>
> Perhaps you need Object[] rather than Object.
>
>
> Anne
>
>
> On 5/25/06, Hariharasudhan.D Dhakshinamoorthy < hariharasudhan.d@gmail.com>
> wrote:
> >
> >  Ravi ,
> > i too have the same problem , could you figure out something ?
> >
> >
> >  On 5/25/06, Ravi Krishnamurthy <ravik@savvion.com > wrote:
> > >
> > > Hello;
> > > Would be evry helpful if someone could reply this email.
> > >
> > > thanks,
> > > Ravi
> > >
> > > Ravi Krishnamurthy wrote:
> > >
> > > > More information:
> > > > The exception that I mentioned happens only if the webservice is a
> > > > document/literal/wrapped but with RPC it is fine.
> > > >
> > > > Is there is any known bug related to wrapped/literal style, anytype
> > > > and ArrayOfString and axis1.2.1
> > > >
> > > > Thanks,
> > > > Ravi
> > > >
> > > > Ravi Krishnamurthy wrote:
> > > >
> > > >> Hello;
> > > >> One of the javabean I have registered as a bean mapping has a field
> > >
> > > >> of Object type which corresponds to xsd:anyType. But the types  for
> > > >> Object are always primitive types. As long they are primitives it
> > > >> works fine. I tried to pass String[] and it started to throw
> > > >> exception at the test cases generated by wsdl2java when I executed
> > > >> the JUnit test case as below:
> > > >>
> > > >> AxisFault
> > > >>  faultCode:
> > > >> { http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
> > > >>  faultSubcode:
> > > >>  faultString: org.xml.sax.SAXException: No deserializer for
> > > >> { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > > >>  faultActor:
> > > >>  faultNode:
> > > >>  faultDetail:
> > > >>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException
> > > <http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXException>:
> > > >> No deserializer for { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > > >>     at
> > > >> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild (
> > > BeanDeserializer.java:314)
> > > >>
> > > >>     at
> > > >> org.apache.axis.encoding.DeserializationContext.startElement (
> > > DeserializationContext.java:1035)
> > > >>
> > > >>     at
> > > >> org.apache.axis.message.SAX2EventRecorder.replay (
> > > SAX2EventRecorder.java:165)
> > > >>
> > > >>     at
> > > >> org.apache.axis.message.MessageElement.publishToHandler (
> > > MessageElement.java:1141)
> > > >>
> > > >>     at
> > > >> org.apache.axis.message.RPCElement.deserialize (RPCElement.java
> > > :236)
> > > >>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> > >
> > > >>     at org.apache.axis.client.Call.invoke(Call.java:2448)
> > > >>     at org.apache.axis.client.Call.invoke (Call.java:2347)
> > > >>     at org.apache.axis.client.Call.invoke(Call.java:1804)
> > > >>     at
> > > >>
> > > com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot
> > > (BizLogic1SoapBindingStub.java :1704)
> > > >>
> > > >>     at
> > > >>
> > > com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot(
> > > WorkFlowWSServiceTestCase.java:457)
> > > >>
> > > >>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> > > >>     at
> > > >> sun.reflect.NativeMethodAccessorImpl.invoke(
> > > NativeMethodAccessorImpl.java :39)
> > > >>
> > > >>     at
> > > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > DelegatingMethodAccessorImpl.java :25)
> > > >>
> > > >>     at java.lang.reflect.Method.invoke(Method.java:324)
> > > >>     at junit.framework.TestCase.runTest(TestCase.java:216)
> > > >>     at junit.framework.TestCase.runBare(TestCase.java :188)
> > > >>     at junit.framework.TestResult$1.protect(TestResult.java:150)
> > > >>     at junit.framework.TestResult.runProtected (TestResult.java
> > > :168)
> > > >>     at junit.framework.TestResult.run(TestResult.java :153)
> > > >>     at junit.framework.TestCase.run(TestCase.java:179)
> > > >>     at
> > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (
> > > RemoteTestRunner.java:478)
> > > >>
> > > >>     at
> > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> > > RemoteTestRunner.java:344)
> > > >>
> > > >>     at
> > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (
> > > RemoteTestRunner.java :196)
> > > >>
> > > >>
> > > >>     {http://xml.apache.org/axis/}hostname:chennai
> > > <http://xml.apache.org/axis/%7Dhostname:chennai>
> > > >>
> > > >> The returned soap envelop looks like below:
> > > >> HTTP/1.1 200 OK
> > > >>
> > > >> Date: Wed, 24 May 2006 23:45:26 GMT
> > > >>
> > > >> Content-Type: text/xml; charset=utf-8
> > > >>
> > > >> Connection: Close
> > > >>
> > > >>
> > > >>
> > > >> <?xml version="1.0" encoding="utf-8"?>
> > > >>    <soapenv:Envelope
> > > >> xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ "
> > > >> xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
> > > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
> > > >>       <soapenv:Body>
> > > >>          <getProcessTemplateDataSlotResponse
> > > >> xmlns=" http://workflow.webservice.savvion.com ">
> > > >>             <getProcessTemplateDataSlotReturn>
> > > >>                <choices xsi:nil="true"/>
> > > >>                <isReadOnly>false</isReadOnly>
> > > >>                <isWriteOnly>false</isWriteOnly>
> > > >>                <name>listds</name>
> > > >>                <ptid>1</ptid>
> > > >>                <type>LIST</type>
> > > >>                <value>
> > > >>                   <value>one</value>
> > > >>                   <value>ten</value>
> > > >>                </value>
> > > >>             </getProcessTemplateDataSlotReturn>
> > > >>          </getProcessTemplateDataSlotResponse>
> > > >>       </soapenv:Body>
> > > >>    </soapenv:Envelope>
> > > >>
> > > >> and the xsd:anytype if for the following element:
> > > >>                 <value>
> > > >>                   <value>one</value>
> > > >>                   <value>ten</value>
> > > >>                </value>
> > > >>
> > > >> Would appreciate any help on this.
> > > >>
> > > >> Thanks,
> > > >> Ravi
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > >
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > >
> > >
> >
>

Re: String[] for xsd:anyType with axis1.2.1

Posted by Xinjun Chen <xj...@gmail.com>.
Hi Ravi,

would you like to modify the WSDL
     <element name="value" nillable="true"
      type="xsd:anyType" />
to
     <element name="value" nillable="true"
      type="xsd:anyType[]" />
and then use WSDL2Java to generate the client stubs?
In my previous email, I overlooked your statement that types of Object in
fact are primitive types. But anyway, for document style web service, a
schema is required to get the XML deserialized.

Regards,
Xinjun

On 5/26/06, Ravi Krishnamurthy <ra...@savvion.com> wrote:
>
>  Anne:
> Changing to Object[] also does not work.
>
> Regards,
> Ravi
>
> Anne Thomas Manes wrote:
>
> Perhaps you need Object[] rather than Object.
>
> Anne
>
> On 5/25/06, Hariharasudhan.D Dhakshinamoorthy < hariharasudhan.d@gmail.com>
> wrote:
> >
> >  Ravi ,
> > i too have the same problem , could you figure out something ?
> >
> >
> >  On 5/25/06, Ravi Krishnamurthy <ravik@savvion.com > wrote:
> > >
> > > Hello;
> > > Would be evry helpful if someone could reply this email.
> > >
> > > thanks,
> > > Ravi
> > >
> > > Ravi Krishnamurthy wrote:
> > >
> > > > More information:
> > > > The exception that I mentioned happens only if the webservice is a
> > > > document/literal/wrapped but with RPC it is fine.
> > > >
> > > > Is there is any known bug related to wrapped/literal style, anytype
> > > > and ArrayOfString and axis1.2.1
> > > >
> > > > Thanks,
> > > > Ravi
> > > >
> > > > Ravi Krishnamurthy wrote:
> > > >
> > > >> Hello;
> > > >> One of the javabean I have registered as a bean mapping has a field
> > >
> > > >> of Object type which corresponds to xsd:anyType. But the types  for
> > > >> Object are always primitive types. As long they are primitives it
> > > >> works fine. I tried to pass String[] and it started to throw
> > > >> exception at the test cases generated by wsdl2java when I executed
> > > >> the JUnit test case as below:
> > > >>
> > > >> AxisFault
> > > >>  faultCode:
> > > >> { http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
> > > >>  faultSubcode:
> > > >>  faultString: org.xml.sax.SAXException: No deserializer for
> > > >> { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > > >>  faultActor:
> > > >>  faultNode:
> > > >>  faultDetail:
> > > >>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException
> > > <http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXException>:
> > > >> No deserializer for { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > > >>     at
> > > >> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild (
> > > BeanDeserializer.java:314)
> > > >>
> > > >>     at
> > > >> org.apache.axis.encoding.DeserializationContext.startElement (
> > > DeserializationContext.java:1035)
> > > >>
> > > >>     at
> > > >> org.apache.axis.message.SAX2EventRecorder.replay (
> > > SAX2EventRecorder.java:165)
> > > >>
> > > >>     at
> > > >> org.apache.axis.message.MessageElement.publishToHandler (
> > > MessageElement.java:1141)
> > > >>
> > > >>     at
> > > >> org.apache.axis.message.RPCElement.deserialize (RPCElement.java
> > > :236)
> > > >>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> > >
> > > >>     at org.apache.axis.client.Call.invoke(Call.java:2448)
> > > >>     at org.apache.axis.client.Call.invoke (Call.java:2347)
> > > >>     at org.apache.axis.client.Call.invoke(Call.java:1804)
> > > >>     at
> > > >>
> > > com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot
> > > (BizLogic1SoapBindingStub.java :1704)
> > > >>
> > > >>     at
> > > >>
> > > com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot(
> > > WorkFlowWSServiceTestCase.java:457)
> > > >>
> > > >>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> > > >>     at
> > > >> sun.reflect.NativeMethodAccessorImpl.invoke(
> > > NativeMethodAccessorImpl.java :39)
> > > >>
> > > >>     at
> > > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > DelegatingMethodAccessorImpl.java :25)
> > > >>
> > > >>     at java.lang.reflect.Method.invoke(Method.java:324)
> > > >>     at junit.framework.TestCase.runTest(TestCase.java:216)
> > > >>     at junit.framework.TestCase.runBare(TestCase.java :188)
> > > >>     at junit.framework.TestResult$1.protect(TestResult.java:150)
> > > >>     at junit.framework.TestResult.runProtected (TestResult.java
> > > :168)
> > > >>     at junit.framework.TestResult.run(TestResult.java :153)
> > > >>     at junit.framework.TestCase.run(TestCase.java:179)
> > > >>     at
> > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (
> > > RemoteTestRunner.java:478)
> > > >>
> > > >>     at
> > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> > > RemoteTestRunner.java:344)
> > > >>
> > > >>     at
> > > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (
> > > RemoteTestRunner.java :196)
> > > >>
> > > >>
> > > >>     {http://xml.apache.org/axis/}hostname:chennai
> > > <http://xml.apache.org/axis/%7Dhostname:chennai>
> > > >>
> > > >> The returned soap envelop looks like below:
> > > >> HTTP/1.1 200 OK
> > > >>
> > > >> Date: Wed, 24 May 2006 23:45:26 GMT
> > > >>
> > > >> Content-Type: text/xml; charset=utf-8
> > > >>
> > > >> Connection: Close
> > > >>
> > > >>
> > > >>
> > > >> <?xml version="1.0" encoding="utf-8"?>
> > > >>    <soapenv:Envelope
> > > >> xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ "
> > > >> xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
> > > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
> > > >>       <soapenv:Body>
> > > >>          <getProcessTemplateDataSlotResponse
> > > >> xmlns=" http://workflow.webservice.savvion.com ">
> > > >>             <getProcessTemplateDataSlotReturn>
> > > >>                <choices xsi:nil="true"/>
> > > >>                <isReadOnly>false</isReadOnly>
> > > >>                <isWriteOnly>false</isWriteOnly>
> > > >>                <name>listds</name>
> > > >>                <ptid>1</ptid>
> > > >>                <type>LIST</type>
> > > >>                <value>
> > > >>                   <value>one</value>
> > > >>                   <value>ten</value>
> > > >>                </value>
> > > >>             </getProcessTemplateDataSlotReturn>
> > > >>          </getProcessTemplateDataSlotResponse>
> > > >>       </soapenv:Body>
> > > >>    </soapenv:Envelope>
> > > >>
> > > >> and the xsd:anytype if for the following element:
> > > >>                 <value>
> > > >>                   <value>one</value>
> > > >>                   <value>ten</value>
> > > >>                </value>
> > > >>
> > > >> Would appreciate any help on this.
> > > >>
> > > >> Thanks,
> > > >> Ravi
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > > >
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > >
> > >
> >
>
> --------------------------------------------------------------------- To
> unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For additional
> commands, e-mail: axis-user-help@ws.apache.org
>

Re: String[] for xsd:anyType with axis1.2.1

Posted by Anne Thomas Manes <at...@gmail.com>.
Perhaps you need Object[] rather than Object.

Anne

On 5/25/06, Hariharasudhan.D Dhakshinamoorthy <ha...@gmail.com>
wrote:
>
> Ravi ,
> i too have the same problem , could you figure out something ?
>
>
> On 5/25/06, Ravi Krishnamurthy <ravik@savvion.com > wrote:
> >
> > Hello;
> > Would be evry helpful if someone could reply this email.
> >
> > thanks,
> > Ravi
> >
> > Ravi Krishnamurthy wrote:
> >
> > > More information:
> > > The exception that I mentioned happens only if the webservice is a
> > > document/literal/wrapped but with RPC it is fine.
> > >
> > > Is there is any known bug related to wrapped/literal style, anytype
> > > and ArrayOfString and axis1.2.1
> > >
> > > Thanks,
> > > Ravi
> > >
> > > Ravi Krishnamurthy wrote:
> > >
> > >> Hello;
> > >> One of the javabean I have registered as a bean mapping has a field
> > >> of Object type which corresponds to xsd:anyType. But the types  for
> > >> Object are always primitive types. As long they are primitives it
> > >> works fine. I tried to pass String[] and it started to throw
> > >> exception at the test cases generated by wsdl2java when I executed
> > >> the JUnit test case as below:
> > >>
> > >> AxisFault
> > >>  faultCode:
> > >> { http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
> > >>  faultSubcode:
> > >>  faultString: org.xml.sax.SAXException: No deserializer for
> > >> { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > >>  faultActor:
> > >>  faultNode:
> > >>  faultDetail:
> > >>     { http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException
> > <http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXException>:
> > >> No deserializer for { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> > >>     at
> > >> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild (
> > BeanDeserializer.java:314)
> > >>
> > >>     at
> > >> org.apache.axis.encoding.DeserializationContext.startElement (
> > DeserializationContext.java:1035)
> > >>
> > >>     at
> > >> org.apache.axis.message.SAX2EventRecorder.replay (
> > SAX2EventRecorder.java:165)
> > >>
> > >>     at
> > >> org.apache.axis.message.MessageElement.publishToHandler (
> > MessageElement.java:1141)
> > >>
> > >>     at
> > >> org.apache.axis.message.RPCElement.deserialize (RPCElement.java:236)
> > >>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> >
> > >>     at org.apache.axis.client.Call.invoke(Call.java:2448)
> > >>     at org.apache.axis.client.Call.invoke (Call.java:2347)
> > >>     at org.apache.axis.client.Call.invoke(Call.java:1804)
> > >>     at
> > >>
> > com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot
> > (BizLogic1SoapBindingStub.java :1704)
> > >>
> > >>     at
> > >>
> > com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot(
> > WorkFlowWSServiceTestCase.java:457)
> > >>
> > >>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> > >>     at
> > >> sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java :39)
> > >>
> > >>     at
> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java :25)
> > >>
> > >>     at java.lang.reflect.Method.invoke(Method.java:324)
> > >>     at junit.framework.TestCase.runTest(TestCase.java:216)
> > >>     at junit.framework.TestCase.runBare(TestCase.java :188)
> > >>     at junit.framework.TestResult$1.protect(TestResult.java:150)
> > >>     at junit.framework.TestResult.runProtected (TestResult.java:168)
> > >>     at junit.framework.TestResult.run(TestResult.java :153)
> > >>     at junit.framework.TestCase.run(TestCase.java:179)
> > >>     at
> > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (
> > RemoteTestRunner.java:478)
> > >>
> > >>     at
> > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> > RemoteTestRunner.java:344)
> > >>
> > >>     at
> > >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (
> > RemoteTestRunner.java :196)
> > >>
> > >>
> > >>     {http://xml.apache.org/axis/}hostname:chennai
> > <http://xml.apache.org/axis/%7Dhostname:chennai>
> > >>
> > >> The returned soap envelop looks like below:
> > >> HTTP/1.1 200 OK
> > >>
> > >> Date: Wed, 24 May 2006 23:45:26 GMT
> > >>
> > >> Content-Type: text/xml; charset=utf-8
> > >>
> > >> Connection: Close
> > >>
> > >>
> > >>
> > >> <?xml version="1.0" encoding="utf-8"?>
> > >>    <soapenv:Envelope
> > >> xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ "
> > >> xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
> > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
> > >>       <soapenv:Body>
> > >>          <getProcessTemplateDataSlotResponse
> > >> xmlns=" http://workflow.webservice.savvion.com ">
> > >>             <getProcessTemplateDataSlotReturn>
> > >>                <choices xsi:nil="true"/>
> > >>                <isReadOnly>false</isReadOnly>
> > >>                <isWriteOnly>false</isWriteOnly>
> > >>                <name>listds</name>
> > >>                <ptid>1</ptid>
> > >>                <type>LIST</type>
> > >>                <value>
> > >>                   <value>one</value>
> > >>                   <value>ten</value>
> > >>                </value>
> > >>             </getProcessTemplateDataSlotReturn>
> > >>          </getProcessTemplateDataSlotResponse>
> > >>       </soapenv:Body>
> > >>    </soapenv:Envelope>
> > >>
> > >> and the xsd:anytype if for the following element:
> > >>                 <value>
> > >>                   <value>one</value>
> > >>                   <value>ten</value>
> > >>                </value>
> > >>
> > >> Would appreciate any help on this.
> > >>
> > >> Thanks,
> > >> Ravi
> > >
> > >
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-user-help@ws.apache.org
> > >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
> >
>

Re: String[] for xsd:anyType with axis1.2.1

Posted by "Hariharasudhan.D Dhakshinamoorthy" <ha...@gmail.com>.
Ravi ,
i too have the same problem , could you figure out something ?


On 5/25/06, Ravi Krishnamurthy <ra...@savvion.com> wrote:
>
> Hello;
> Would be evry helpful if someone could reply this email.
>
> thanks,
> Ravi
>
> Ravi Krishnamurthy wrote:
>
> > More information:
> > The exception that I mentioned happens only if the webservice is a
> > document/literal/wrapped but with RPC it is fine.
> >
> > Is there is any known bug related to wrapped/literal style, anytype
> > and ArrayOfString and axis1.2.1
> >
> > Thanks,
> > Ravi
> >
> > Ravi Krishnamurthy wrote:
> >
> >> Hello;
> >> One of the javabean I have registered as a bean mapping has a field
> >> of Object type which corresponds to xsd:anyType. But the types  for
> >> Object are always primitive types. As long they are primitives it
> >> works fine. I tried to pass String[] and it started to throw
> >> exception at the test cases generated by wsdl2java when I executed
> >> the JUnit test case as below:
> >>
> >> AxisFault
> >>  faultCode:
> >> { http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
> >>  faultSubcode:
> >>  faultString: org.xml.sax.SAXException: No deserializer for
> >> { http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> >>  faultActor:
> >>  faultNode:
> >>  faultDetail:
> >>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException
> <http://xml.apache.org/axis/%7DstackTrace:org.xml.sax.SAXException>:
> >> No deserializer for {http://www.w3.org/2001/XMLSchema}anyType<http://www.w3.org/2001/XMLSchema%7DanyType>
> >>     at
> >> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild (
> BeanDeserializer.java:314)
> >>
> >>     at
> >> org.apache.axis.encoding.DeserializationContext.startElement(
> DeserializationContext.java:1035)
> >>
> >>     at
> >> org.apache.axis.message.SAX2EventRecorder.replay (
> SAX2EventRecorder.java:165)
> >>
> >>     at
> >> org.apache.axis.message.MessageElement.publishToHandler(
> MessageElement.java:1141)
> >>
> >>     at
> >> org.apache.axis.message.RPCElement.deserialize (RPCElement.java:236)
> >>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java
> :384)
> >>     at org.apache.axis.client.Call.invoke(Call.java:2448)
> >>     at org.apache.axis.client.Call.invoke (Call.java:2347)
> >>     at org.apache.axis.client.Call.invoke(Call.java:1804)
> >>     at
> >>
> com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot
> (BizLogic1SoapBindingStub.java :1704)
> >>
> >>     at
> >>
> com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot
> (WorkFlowWSServiceTestCase.java:457)
> >>
> >>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> >>     at
> >> sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
> >>
> >>     at
> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java :25)
> >>
> >>     at java.lang.reflect.Method.invoke(Method.java:324)
> >>     at junit.framework.TestCase.runTest(TestCase.java:216)
> >>     at junit.framework.TestCase.runBare(TestCase.java :188)
> >>     at junit.framework.TestResult$1.protect(TestResult.java:150)
> >>     at junit.framework.TestResult.runProtected(TestResult.java:168)
> >>     at junit.framework.TestResult.run(TestResult.java :153)
> >>     at junit.framework.TestCase.run(TestCase.java:179)
> >>     at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> RemoteTestRunner.java:478)
> >>
> >>     at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> RemoteTestRunner.java:344)
> >>
> >>     at
> >> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> RemoteTestRunner.java :196)
> >>
> >>
> >>     {http://xml.apache.org/axis/}hostname:chennai<http://xml.apache.org/axis/%7Dhostname:chennai>
> >>
> >> The returned soap envelop looks like below:
> >> HTTP/1.1 200 OK
> >>
> >> Date: Wed, 24 May 2006 23:45:26 GMT
> >>
> >> Content-Type: text/xml; charset=utf-8
> >>
> >> Connection: Close
> >>
> >>
> >>
> >> <?xml version="1.0" encoding="utf-8"?>
> >>    <soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ "
> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
> >>       <soapenv:Body>
> >>          <getProcessTemplateDataSlotResponse
> >> xmlns="http://workflow.webservice.savvion.com ">
> >>             <getProcessTemplateDataSlotReturn>
> >>                <choices xsi:nil="true"/>
> >>                <isReadOnly>false</isReadOnly>
> >>                <isWriteOnly>false</isWriteOnly>
> >>                <name>listds</name>
> >>                <ptid>1</ptid>
> >>                <type>LIST</type>
> >>                <value>
> >>                   <value>one</value>
> >>                   <value>ten</value>
> >>                </value>
> >>             </getProcessTemplateDataSlotReturn>
> >>          </getProcessTemplateDataSlotResponse>
> >>       </soapenv:Body>
> >>    </soapenv:Envelope>
> >>
> >> and the xsd:anytype if for the following element:
> >>                 <value>
> >>                   <value>one</value>
> >>                   <value>ten</value>
> >>                </value>
> >>
> >> Would appreciate any help on this.
> >>
> >> Thanks,
> >> Ravi
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

Re: String[] for xsd:anyType with axis1.2.1

Posted by Ravi Krishnamurthy <ra...@savvion.com>.
Hello;
Would be evry helpful if someone could reply this email.

thanks,
Ravi

Ravi Krishnamurthy wrote:

> More information:
> The exception that I mentioned happens only if the webservice is a 
> document/literal/wrapped but with RPC it is fine.
>
> Is there is any known bug related to wrapped/literal style, anytype 
> and ArrayOfString and axis1.2.1
>
> Thanks,
> Ravi
>
> Ravi Krishnamurthy wrote:
>
>> Hello;
>> One of the javabean I have registered as a bean mapping has a field 
>> of Object type which corresponds to xsd:anyType. But the types  for 
>> Object are always primitive types. As long they are primitives it 
>> works fine. I tried to pass String[] and it started to throw 
>> exception at the test cases generated by wsdl2java when I executed 
>> the JUnit test case as below:
>>
>> AxisFault
>>  faultCode: 
>> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>>  faultSubcode:
>>  faultString: org.xml.sax.SAXException: No deserializer for 
>> {http://www.w3.org/2001/XMLSchema}anyType
>>  faultActor:
>>  faultNode:
>>  faultDetail:
>>     {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: 
>> No deserializer for {http://www.w3.org/2001/XMLSchema}anyType
>>     at 
>> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:314) 
>>
>>     at 
>> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) 
>>
>>     at 
>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165) 
>>
>>     at 
>> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141) 
>>
>>     at 
>> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>>     at org.apache.axis.client.Call.invoke(Call.java:2448)
>>     at org.apache.axis.client.Call.invoke(Call.java:2347)
>>     at org.apache.axis.client.Call.invoke(Call.java:1804)
>>     at 
>> com.savvion.webservice.workflow.BizLogic1SoapBindingStub.getProcessTemplateDataSlot(BizLogic1SoapBindingStub.java:1704) 
>>
>>     at 
>> com.savvion.webservice.workflow.WorkFlowWSServiceTestCase.test20BizLogic1GetProcessTemplateDataSlot(WorkFlowWSServiceTestCase.java:457) 
>>
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
>>
>>     at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
>>
>>     at java.lang.reflect.Method.invoke(Method.java:324)
>>     at junit.framework.TestCase.runTest(TestCase.java:216)
>>     at junit.framework.TestCase.runBare(TestCase.java:188)
>>     at junit.framework.TestResult$1.protect(TestResult.java:150)
>>     at junit.framework.TestResult.runProtected(TestResult.java:168)
>>     at junit.framework.TestResult.run(TestResult.java:153)
>>     at junit.framework.TestCase.run(TestCase.java:179)
>>     at 
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) 
>>
>>     at 
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) 
>>
>>     at 
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) 
>>
>>
>>     {http://xml.apache.org/axis/}hostname:chennai
>>
>> The returned soap envelop looks like below:
>> HTTP/1.1 200 OK
>>
>> Date: Wed, 24 May 2006 23:45:26 GMT
>>
>> Content-Type: text/xml; charset=utf-8
>>
>> Connection: Close
>>
>>
>>
>> <?xml version="1.0" encoding="utf-8"?>
>>    <soapenv:Envelope 
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>       <soapenv:Body>
>>          <getProcessTemplateDataSlotResponse 
>> xmlns="http://workflow.webservice.savvion.com">
>>             <getProcessTemplateDataSlotReturn>
>>                <choices xsi:nil="true"/>
>>                <isReadOnly>false</isReadOnly>
>>                <isWriteOnly>false</isWriteOnly>
>>                <name>listds</name>
>>                <ptid>1</ptid>
>>                <type>LIST</type>
>>                <value>
>>                   <value>one</value>
>>                   <value>ten</value>
>>                </value>
>>             </getProcessTemplateDataSlotReturn>
>>          </getProcessTemplateDataSlotResponse>
>>       </soapenv:Body>
>>    </soapenv:Envelope>
>>
>> and the xsd:anytype if for the following element:
>>                 <value>
>>                   <value>one</value>
>>                   <value>ten</value>
>>                </value>
>>
>> Would appreciate any help on this.
>>
>> Thanks,
>> Ravi
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org