Hi,

I am using Axis 1.1beta. I have a complex type element in the type definition in 
wsdl(See below "patient" element). If my service is deployed as doc/lit style(for rpc 
style, it works fine), I always have a problem using 
http://localhost/axis/services/SingleSignOnDoclit?wsdl to view the wsdl file. It gives 
me such error:

Fault - makeTypeElement() was told to create a type 
"{http://axisTest.singleSignOn.knowmed.com/schema}PrepareSessionRequest>patient", with 
no containing element 
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode: 
 faultString: makeTypeElement() was told to create a type 
"{http://axisTest.singleSignOn.knowmed.com/schema}PrepareSessionRequest>patient", with 
no containing element
 faultActor: null
 faultNode: null
 faultDetail: 
        stackTrace: AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode: 
 faultString: makeTypeElement() was told to create a type 
"{http://axisTest.singleSignOn.knowmed.com/schema}PrepareSessionRequest>patient", with 
no containing element
 faultActor: null
 faultNode: null
 faultDetail: 

makeTypeElement() was told to create a type 
"{http://axisTest.singleSignOn.knowmed.com/schema}PrepareSessionRequest>patient", with 
no containing element
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1229)
        at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:326)
        at org.apache.axis.wsdl.fromJava.Emitter.createTypes(Emitter.java:636)
        at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:383)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:268)
        at 
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider.java:478)
        at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:72)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
        at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:143)
        at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:368)
        at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:491)
        at 
org.apache.axis.transport.http.AxisServlet.processWsdlRequest(AxisServlet.java:434)
        at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:286)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
        at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
        at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
        at 
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5412)
        at 
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:744)
        at 
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3086)
        at 
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2544)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
 

The wsdl file is as follows:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"; 
targetNamespace="http://axisTest.singleSignOn.knowmed.com"; 
xmlns:intf="http://axisTest.singleSignOn.knowmed.com"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsd1="http://axisTest.singleSignOn.knowmed.com/schema";>
<wsdl:types>
        <xsd:schema targetNamespace="http://axisTest.singleSignOn.knowmed.com/schema"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns="http://axisTest.singleSignOn.knowmed.com/schema"; elementFormDefault="qualified">
        <xsd:element name="PrepareSession" type="PrepareSessionRequest"/>
        <xsd:element name="PrepareSessionResponse" type="PrepareSessionResponse"/>
        <xsd:complexType name="PrepareSessionRequest">
                <xsd:all>
                        <xsd:element name="user" type="xsd:string"/>
                        <xsd:element name="customerId" type="xsd:string"/>
                        <xsd:element name="iKnowChartComponent" type="xsd:string"/>
                        <xsd:element name="ikcWindowOpenMode" type="xsd:string"/>
                        <xsd:element name="callingSystemName" type="xsd:string"/>
                        <xsd:element name="organizationId" type="xsd:string" 
nillable="true" minOccurs="0"/>
                        <xsd:element name="visitDate" type="xsd:date" nillable="true" 
minOccurs="0"/>
                        <xsd:element name="callingSystemSessionId" type="xsd:string" 
nillable="true" minOccurs="0"/>            
                        <xsd:element name="patient" nillable="true" minOccurs="0">
                                <xsd:complexType>
                                        <xsd:all>
                                                <xsd:element name="idType" 
type="xsd:string" nillable="true" minOccurs="0"/>
                                                <xsd:element name="idValue" 
type="xsd:string" nillable="true" minOccurs="0"/>
                                        </xsd:all>
                                </xsd:complexType>
                        </xsd:element>
                </xsd:all>
        </xsd:complexType>
        <xsd:complexType name="PrepareSessionResponse">
                <xsd:all>
                        <xsd:element name="session" type="xsd:string"/>
                        <xsd:element name="browserCommandUrl" type="xsd:string"/>
                        <xsd:element name="serverSessionCommandSOAPUrl" 
type="xsd:string"/>
                        <xsd:element name="callingSystemSessionId" type="xsd:string"/>
                </xsd:all>
        </xsd:complexType>
        </xsd:schema>
</wsdl:types>
        <wsdl:message name="prepareSessionRequest">
                <wsdl:part name="prepareSessionReq" element="xsd1:PrepareSession"/>
        </wsdl:message>
        <wsdl:message name="prepareSessionResponse">
                <wsdl:part name="prepareSessionResp" 
element="xsd1:PrepareSessionResponse"/>
        </wsdl:message>
        <wsdl:portType name="SingleSignOnServer">
                <wsdl:operation name="prepareSession">
                        <wsdl:input name="prepareSessionRequest" 
message="intf:prepareSessionRequest"/>
                        <wsdl:output name="prepareSessionResponse" 
message="intf:prepareSessionResponse"/>
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="SingleSignOnSoapBinding" type="intf:SingleSignOnServer">
                <wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
                <wsdl:operation name="prepareSession">
                        <wsdlsoap:operation 
soapAction="http://axisTest.singleSignOn.knowmed.com/prepareSession"; style="document"/>
                        <wsdl:input name="prepareSessionRequest">
                                <wsdlsoap:body 
namespace="http://axisTest.singleSignOn.knowmed.com"; use="literal"/>
                        </wsdl:input>
                        <wsdl:output name="prepareSessionResponse">
                                <wsdlsoap:body 
namespace="http://axisTest.singleSignOn.knowmed.com"; use="literal"/>
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="SingleSignOnService">
                <wsdl:port binding="intf:SingleSignOnSoapBinding" 
name="SingleSignOnDoclit">
                        <wsdlsoap:address 
location="http://localhost/axis/services/SingleSignOnDoclit"/>
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>

-----------------------------------------------------------------------
Does anyone know what's wrong? Thanks in advance.


Reply via email to