[ 
https://issues.apache.org/jira/browse/TUSCANY-2323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Nash reassigned TUSCANY-2323:
-----------------------------------

    Assignee: Simon Nash

> Error generating WSDL when the original wsdl file used to specify the service 
> interface does not use soap namespaces
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2323
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2323
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding Extension
>    Affects Versions: Java-SCA-1.2
>            Reporter: Vamsavardhana Reddy
>            Assignee: Simon Nash
>             Fix For: Java-SCA-Next
>
>         Attachments: TUSCANY-2323-recreate.patch
>
>
> I am getting an error with generating wsdl using ?wsdl on the url for 
> webservice when the original wsdl file used to specify the service interface 
> does not use soap namespaces.  The following is the wsdl file:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://helloworld";
>                   xmlns:tns="http://helloworld";
>                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>                   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>       name="helloworld">
>     <wsdl:types>
>         <schema elementFormDefault="qualified" 
> targetNamespace="http://helloworld"; xmlns="http://www.w3.org/2001/XMLSchema";>
>             <element name="getGreetings">
>                 <complexType>
>                     <sequence>
>                         <element name="name" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             <element name="getGreetingsResponse">
>                 <complexType>
>                     <sequence>
>                         <element name="getGreetingsReturn" type="xsd:string"/>
>                     </sequence>
>                 </complexType>
>             </element>
>             
>         </schema>
>     </wsdl:types>
>     <wsdl:message name="getGreetingsRequest">
>         <wsdl:part element="tns:getGreetings" name="parameters"/>
>     </wsdl:message>
>     <wsdl:message name="getGreetingsResponse">
>         <wsdl:part element="tns:getGreetingsResponse" name="parameters"/>
>     </wsdl:message>
>     <wsdl:portType name="HelloWorld">
>         <wsdl:operation name="getGreetings">
>             <wsdl:input message="tns:getGreetingsRequest" 
> name="getGreetingsRequest"/>
>             <wsdl:output message="tns:getGreetingsResponse" 
> name="getGreetingsResponse"/>
>         </wsdl:operation>
>     </wsdl:portType>
> </wsdl:definitions>
> The following is the composite:
> <?xml version="1.0" encoding="UTF-8"?>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
>       targetNamespace="http://helloworld";
>       xmlns:hw="http://helloworld";
>     name="helloworldws">
>     <component name="HelloWorldServiceComponent">
>         <implementation.java class="helloworld.HelloWorldImpl" />
>           <service name="HelloWorldService">
>               <interface.wsdl 
> interface="http://helloworld#wsdl.interface(HelloWorld)" />
>               <binding.ws uri="http://localhost:8085/HelloWorldService"/>
>           </service>
>     </component>
> </composite>
> The error I am seeing is given below:
> May 16, 2008 12:13:52 AM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet /HelloWorldService threw exception
> org.apache.axis2.AxisFault: WSDLException: faultCode=OTHER_ERROR: Can't find 
> prefix for 'http://schemas.xmlsoap.org/wsdl/soap/'. Namespace prefixes must 
> be set on the Definition object using the addNamespace(...) method.
>       at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
>       at 
> org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java:936)
>       at 
> org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1056)
>       at 
> org.apache.tuscany.sca.binding.ws.axis2.TuscanyListingAgent.processListService(TuscanyListingAgent.java:142)
>       at 
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceServlet.doGet(Axis2ServiceServlet.java:257)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
>       at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:63)
>       at 
> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java:221)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERROR: 
> Can't find prefix for 'http://schemas.xmlsoap.org/wsdl/soap/'. Namespace 
> prefixes must be set on the Definition object using the addNamespace(...) 
> method.
>       at com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown Source)
>       at com.ibm.wsdl.util.xml.DOMUtils.getQualifiedValue(Unknown Source)
>       at com.ibm.wsdl.extensions.soap.SOAPBindingSerializer.marshall(Unknown 
> Source)
>       at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown 
> Source)
>       at com.ibm.wsdl.xml.WSDLWriterImpl.printBindings(Unknown Source)
>       at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
>       at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
>       at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
>       at 
> org.apache.axis2.description.AxisService.printDefinitionObject(AxisService.java:920)
>       at 
> org.apache.axis2.description.AxisService.printUserWSDL(AxisService.java:934)
>       ... 21 more
> The problem goes away if I add the following to the wsdl file (Note that 
> these namespaces are not used in the original wsdl.)
>                   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>                   xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to