[ 
http://issues.apache.org/jira/browse/AXIS-2227?page=comments#action_12330203 ] 

Tom Jordahl commented on AXIS-2227:
-----------------------------------

Two things:
- You need to inline the schema so we can see what that types are.
- It sounds like you are defining an attribute as a URI which isn't a simple 
type so Axis doesn't allow it to be an attribute.  Since URIs can be 
represented as a simple string, axis should probably let it through.  You can 
find the code where this error is generated and make a patch, that would be 
great.


> Axis fails to emit WSDL when using beans classes ex WSDL2Java
> -------------------------------------------------------------
>
>          Key: AXIS-2227
>          URL: http://issues.apache.org/jira/browse/AXIS-2227
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2.1
>  Environment: Windows XP SP2, JDK 1.5.0, Axis 1.2.1
>     Reporter: Guy Rixon

>
> I used WSDL2Java to generate stubs and data-binding classes from hand-written 
> WSDL. When I deployed the service Axis failed to emit the WSDL giving this 
> error-message:
> Fault - Bean attribute ivoId is of type org.apache.axis.types.URI, which is 
> not a simple type
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
>  faultSubcode: 
>  faultString: Bean attribute ivoId is of type org.apache.axis.types.URI, 
> which is not a simple type
>  faultActor: 
>  faultNode: 
>  faultDetail: 
>       {http://xml.apache.org/axis/}hostname:capc57
> Here is the WSDL:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
>               targetNamespace="urn:gtr:schema:vosi:prototype"
>     xmlns="http://schemas.xmlsoap.org/wsdl/";
>         xmlns:tns="urn:gtr:schema:vosi:prototype"
>               xmlns:avail="urn:ivoa:namespace:temporary:gtr:availability:v0.2"
>     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>
>         <xsd:schema
>                 targetNamespace="urn:gtr:schema:vosi:prototype"
>             attributeFormDefault="unqualified"
>             elementFormDefault="qualified"
>                 xmlns="http://schemas.xmlsoap.org/wsdl/";
>             xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>             xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>                 <xsd:import
>                       
> namespace="urn:ivoa:namespace:temporary:gtr:availability:v0.2"
>                       
> schemaLocation="http://www.ivoa.net/internal/IVOA/IvoaGridAndWebServices/availability-v0.2.xsd"/>
>         </xsd:schema>
>     </wsdl:types>
>       
>  
>               <wsdl:message name="getAvailabilityRequest">
>               </wsdl:message>
>       
>               <wsdl:message name="getAvailabilityResponse">
>                       <wsdl:part element="avail:availability" name="return"/>
>               </wsdl:message>
>       
>     <wsdl:portType name="Vosi">
>               <wsdl:operation name="getAvailability">
>                               <wsdl:input 
> message="tns:getAvailabilityRequest"/>
>                               <wsdl:output 
> message="tns:getAvailabilityResponse"/>
>               </wsdl:operation>
>     </wsdl:portType>
>       
>     <wsdl:binding
>         name="VosiSoapBinding"
>         type="tns:Vosi">
>         <wsdlsoap:binding
>             style="rpc"
>             transport="http://schemas.xmlsoap.org/soap/http"/>
>               <wsdl:operation name="getAvailability">
>                               <wsdl:input>
>                                               <wsdlsoap:body use="literal"/>
>                               </wsdl:input>
>                               <wsdl:output>
>                                               <wsdlsoap:body use="literal"/>
>                               </wsdl:output>
>               </wsdl:operation>
>       </wsdl:binding>
>       
>     <wsdl:service name="VosiService">
>         <wsdl:port
>             binding="tns:VosiSoapBinding"
>             name="Vosi">
>             <wsdlsoap:address
>                 
> location="http://localhost:8080/astrogrid-vosi/services/Vosi"/>
>         </wsdl:port>
>     </wsdl:service>
>       
> </wsdl:definitions>
> and the WSDD:
> <deployment
>     xmlns="http://xml.apache.org/axis/wsdd/";
>     xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
>       <globalConfiguration>
>               <parameter name="adminPassword" value="admin"/>
>               <parameter name="attachments.implementation" 
> value="org.apache.axis.attachments.AttachmentsImpl"/>
>               <parameter name="sendXsiTypes" value="true"/>
>               <parameter name="sendMultiRefs" value="true"/>
>               <parameter name="sendXMLDeclaration" value="true"/>
>               <parameter name="axis.sendMinimizedElements" value="true"/>
>               <requestFlow>
>                       <handler 
> type="java:org.apache.axis.handlers.JWSHandler">
>                               <parameter name="scope" value="session"/>
>                       </handler>
>                       <handler 
> type="java:org.apache.axis.handlers.JWSHandler">
>                               <parameter name="scope" value="request"/>
>                               <parameter name="extension" value=".jwr"/>
>                       </handler>
>               </requestFlow>
>       </globalConfiguration>
>       <handler name="LocalResponder" 
> type="java:org.apache.axis.transport.local.LocalResponder"/>
>       <handler name="URLMapper" 
> type="java:org.apache.axis.handlers.http.URLMapper"/>
>       <handler name="Authenticate" 
> type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> 
>       <transport name="http">
>               <requestFlow>
>                       <handler type="URLMapper"/>
>                       <handler 
> type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
>               </requestFlow>
>       </transport>
>       <transport name="local">
>               <responseFlow>
>                       <handler type="LocalResponder"/>
>               </responseFlow>
>       </transport>    
>       
>   <!-- Services from VosiService WSDL service -->
>   <service name="Vosi" provider="java:RPC" style="rpc" use="literal">
>       <parameter name="wsdlTargetNamespace" 
> value="urn:gtr:schema:vosi:prototype"/>
>       <parameter name="wsdlServiceElement" value="VosiService"/>
>       <parameter name="schemaQualified" 
> value="http://www.ivoa.net/xml/VOResource/v0.10,urn:gtr:schema:vosi:prototype,urn:ivoa:namespace:temporary:gtr:availability:v0.2"/>
>       <parameter name="wsdlServicePort" value="Vosi"/>
>       <parameter name="className" 
> value="org.astrogrid.vosi.service.VosiServiceImpl"/>
>       <parameter name="wsdlPortType" value="Vosi"/>
>       <parameter name="typeMappingVersion" value="1.2"/>
>       <operation name="getAvailability" qname="getAvailability" 
> returnQName="retNS:availability" 
> xmlns:retNS="urn:ivoa:namespace:temporary:gtr:availability:v0.2" 
> returnType="rtns:Availability" 
> xmlns:rtns="urn:ivoa:namespace:temporary:gtr:availability:v0.2" >
>       </operation>
>       <parameter name="allowedMethods" value="getAvailability"/>
>       <parameter name="scope" value="Application"/>
>       <typeMapping
>         xmlns:ns="http://www.ivoa.net/xml/VOResource/v0.10";
>         qname="ns:ResourceName"
>         
> type="java:org.astrogrid.vosi.VOResource.v0_10.axis.v1_2_1.ResourceName"
>         serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
>         deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
>         encodingStyle=""
>       />
>       <typeMapping
>         xmlns:ns="urn:ivoa:namespace:temporary:gtr:availability:v0.2"
>         qname="ns:Availability"
>         
> type="java:org.astrogrid.vosi.Availability.v0_2.axis.v1_2_1.Availability"
>         serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>         deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>         encodingStyle=""
>       />
>       <typeMapping
>         xmlns:ns="http://www.ivoa.net/xml/VOResource/v0.10";
>         qname="ns:Contact"
>         type="java:org.astrogrid.vosi.VOResource.v0_10.axis.v1_2_1.Contact"
>         serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>         deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>         encodingStyle=""
>       />
>       <typeMapping
>         xmlns:ns="http://www.ivoa.net/xml/VOResource/v0.10";
>         qname="ns:IdentifierURI"
>         type="java:org.apache.axis.types.URI"
>         serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
>         deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
>         encodingStyle=""
>       />
>   </service>
> </deployment>

-- 
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

Reply via email to