[ 
http://issues.apache.org/jira/browse/AXISCPP-505?page=comments#action_60656 ]
     
Mark Whitlock commented on AXISCPP-505:
---------------------------------------

Axis/Java puts generated classes in a package whose name is constructed from 
the namespace in the WSDL. This is to ensure that generated classes from 
different WSDLs do not clash with each other and with application's classes. 
Apache WSIF does something similar. Axis C++ could put generated classes in a 
C++ namespace constructed from the WSDL namespace to solve this same problem. 
That would certainly solve the problem with clashes with STL types.

To solve the problem with clashes with C++ reserved words, Axis would have to 
mangle the name somehow. Maybe by appending a _name on it.

I assigned this JIRA to myself because I was hoping to fix it. Unfortunately I 
have been swamped with other higher priority items, so I am unassigning it, in 
case someone else wants to take it on. If no one assigns it then hopefully I 
will have time later next week or so.


> WSDL2Ws doesn't cope with WSDL complex types matching c/c++ types
> -----------------------------------------------------------------
>
>          Key: AXISCPP-505
>          URL: http://issues.apache.org/jira/browse/AXISCPP-505
>      Project: Axis-C++
>         Type: Bug
>   Components: WSDL processing
>     Reporter: Adrian Dick
>     Assignee: Mark Whitlock

>
> WSDL2Ws produces generated stubs that cannot be compiled when WSDL contains 
> types whose names match c/c++ types.
> eg:
> <complexType name="list">
>   <sequence>
>     <element maxOccurs="unbounded" name="item" nillable="true" 
> type="xsd:string"/>
>   </sequence>
> </complexType>
> There are several potential fixes to this, including the rejection of c/c++ 
> type, but I suggest the following would probably be the best fix:
> Prefix all use user types with "::", eg:
>   ::myReturnType* myPortType::myOperation(::myInput* Value0)
>   {
>     ::myReturnType* pReturn = NULL;
>   ...
>     if(AXIS_SUCCESS == m_pCall->checkMessage("myOperationResponse", 
> "urn:amwebars"))
>     {
>       pReturn = (::myReturnType*)m_pCall->getCmplxObject((void*) 
> Axis_DeSerialize_myReturnType, (void*) Axis_Create_myReturnType, (void*) 
> Axis_Delete_myReturnType,"myOperationReturn", 0);
>     }
>   ...
>   }

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to