axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nadir amra (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Commented: (AXISCPP-860) ComplexLists test is failing due to wrong request message
Date Sun, 23 Oct 2005 17:36:09 GMT
    [ http://issues.apache.org/jira/browse/AXISCPP-860?page=comments#action_12332902 ] 

nadir amra commented on AXISCPP-860:
------------------------------------

I fixed the problem but before I close the issue I need someone to verify that what I did
was correct since I am not that familiar with the code.

Basically in wsdl\wsdl2ws\cpp\literal/BeanParamWriter.java, in the method writeSerializeGlobalMethod(),
near the bottom of the routine:

               //if complex type
                String elm = attribs[i].getParamName();
                if (elm.lastIndexOf("_Ref") > -1)
                {
                    elm = elm.substring(0, elm.lastIndexOf("_Ref"));
                }

                if (elm.charAt(0) == '_')
                {
                    elm = elm.substring(1, elm.length());
                }
                
                if (attribs[i].isReference())
                {
                    elm = attribs[i].getTypeName();
                }
 
                writer.write("\tpSZ->serialize(\"<\", pSZ->getNamespacePrefix(\""
                                + type.getName().getNamespaceURI()
                                + "\"), \":\", \"" + elm + "\", 0);\n");
                writer.write("\tAxis_Serialize_" + attribs[i].getTypeName()
                        + "(param->" + attribs[i].getParamName() + ", pSZ);\n");
                writer.write("\tpSZ->serialize(\"</\", pSZ->getNamespacePrefix(\""
                                + type.getName().getNamespaceURI()
                                + "\"), \":\", \"" + elm + "\", \">\", 0);\n");


I added the checks for _Ref and _, although I am not sure why the check for '_' is needed,
but that is what is done elsewhere in the code.  

I will wait a week before I close the issue out.

> ComplexLists test is failing due to wrong request message
> ---------------------------------------------------------
>
>          Key: AXISCPP-860
>          URL: http://issues.apache.org/jira/browse/AXISCPP-860
>      Project: Axis-C++
>         Type: Bug
>   Components: Client - Engine
>     Reporter: James Jose
>     Assignee: nadir amra

>
> Test fails because soap engine creates an element 'm_list_Ref' instead of 'm_list'
> In the Request message generated for ComplexLists, one of the element name is m_list_Ref.
Earlier this element name was m_list and that time test was passing. Now application server
generates the following error message - Cannot deserialize element m_list_Ref. 
> Request message - when test was passing
> ------------------------------------------------------------
> <?xml version='1.0' encoding='utf-8' ?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <SOAP-ENV:Body>
> <ns1:multilist xmlns:ns1="http://complexlist.test.apache.org">
> <ns1:arg_0_0><ns3:item xmlns:ns3="http://complexlistservice.test.apache.org">never
odd or even</ns3:item>
> <ns4:item xmlns:ns4="http://complexlistservice.test.apache.org">any data string</ns4:item>
> </ns1:arg_0_0>
> <ns1:arg_1_0><ns6:item xmlns:ns6="http://complexlistservice.test.apache.org"><ns6:m_list><ns6:item>Apache</ns6:item>
> <ns6:item>Axis C++</ns6:item>
> </ns6:m_list><ns6:name>namepair1</ns6:name>
> </ns6:item><ns8:item xmlns:ns8="http://complexlistservice.test.apache.org"><ns8:m_list><ns8:item>Test</ns8:item>
> <ns8:item>Complex</ns8:item>
> </ns8:m_list><ns8:name>namepair2</ns8:name>
> </ns8:item></ns1:arg_1_0>
> </ns1:multilist>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> Request Message : Now
> ----------------------------------
> <?xml version='1.0' encoding='utf-8' ?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <SOAP-ENV:Body>
> <ns1:multilist xmlns:ns1="http://complexlist.test.apache.org">
> <ns1:arg_0_0><ns3:item xmlns:ns3="http://complexlistservice.test.apache.org">never
odd or even</ns3:item>
> <ns4:item xmlns:ns4="http://complexlistservice.test.apache.org">any data string</ns4:item>
> </ns1:arg_0_0>
> <ns1:arg_1_0><ns6:item xmlns:ns6="http://complexlistservice.test.apache.org"><ns6:m_list_Ref><ns6:item>Apache</ns6:item>
> <ns6:item>Axis C++</ns6:item>
> </ns6:m_list_Ref><ns6:name>namepair1</ns6:name>
> </ns6:item><ns8:item xmlns:ns8="http://complexlistservice.test.apache.org"><ns8:m_list_Ref><ns8:item>Test</ns8:item>
> <ns8:item>Complex</ns8:item>
> </ns8:m_list_Ref><ns8:name>namepair2</ns8:name>
> </ns8:item></ns1:arg_1_0>
> </ns1:multilist>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message