axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kador (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Created: (AXIS-2096) Custom simpleType as attribute of an element causes problems when displaying deployed service's WSDL
Date Thu, 30 Jun 2005 16:52:02 GMT
Custom simpleType as attribute of an element causes problems when displaying deployed service's
WSDL
----------------------------------------------------------------------------------------------------

         Key: AXIS-2096
         URL: http://issues.apache.org/jira/browse/AXIS-2096
     Project: Apache Axis
        Type: Bug
  Components: Serialization/Deserialization  
    Versions: 1.2.1    
 Environment: WinXP, Tomcat 5.5.9, jdk1.5.0_03
    Reporter: Daniel Kador


If you create a WSDL similar to the one below in wrapped/literal style, you will not be able
to create a complexType whose attribute is of a custom simpleType.  In the example below,
the following error is listed when you try to view the deployed service's WSDL through the
browser interface:

AXIS error

Sorry, something seems to have gone wrong... here are the details:

Fault - Bean attribute testAttribute is of type org.apache.axis.types.NormalizedString, which
is not a simple type

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode: 
 faultString: Bean attribute testAttribute is of type org.apache.axis.types.NormalizedString,
which is not a simple type
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}hostname:ORLIWG2H5Y61

I can fix the above error by changing the attribute type from "y:testAttribute" to "xs:normalizedString".
 Is Axis designed to behave this way?  It's my understanding that XML allows for custom simpleTypes
to be defined and then used as attributes, and the schemas I work with use this feature a
good deal.  They validate with no problems in XMLSpy.  The WSDL I use in this example is posted
below.  

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 											xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
			xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
			xmlns:xs="http://www.w3.org/2001/XMLSchema" 
			xmlns:y="http://test.wsdl" 
			xmlns:types="http://test.wsdl/types"
			targetNamespace="http://test.wsdl">
	<wsdl:types>
		<xs:schema>
			<xs:complexType name="testType">
				<xs:sequence>
					<xs:element name="testElement" type="xs:normalizedString"/>
				</xs:sequence>
				<xs:attribute name="testAttribute" type="y:testAttribute"/>
			</xs:complexType>
			<xs:simpleType name="testAttribute">
				<xs:restriction base="xs:normalizedString"/>
			</xs:simpleType>
			<xs:element name="testAction">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="testParam" type="y:testType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="testActionResp">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="testResp" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:schema>
	</wsdl:types>
	<wsdl:message name="testActionRequest">
		<wsdl:part name="parameters" element="y:testAction"/>
	</wsdl:message>
	<wsdl:message name="testActionResponse">
		<wsdl:part name="parameters" element="y:testActionResp"/>
	</wsdl:message>
	<wsdl:portType name="testPortType">
		<wsdl:operation name="testAction">
			<wsdl:input message="y:testActionRequest"/>
			<wsdl:output message="y:testActionResponse"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="testSoapBinding" type="y:testPortType">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
		<wsdl:operation name="testAction">
			<wsdl:input>
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="testService">
		<wsdl:port name="testPort" binding="y:testSoapBinding">
			<soap:address location="http://localhost:8080/axis/services/testPort"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>


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