You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Vamsavardhana Reddy (JIRA)" <tu...@ws.apache.org> on 2008/05/15 20:54:55 UTC

[jira] Updated: (TUSCANY-2323) Error generating WSDL when the original wsdl file used to specify the service interface does not use soap namespaces

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

Vamsavardhana Reddy updated TUSCANY-2323:
-----------------------------------------

    Attachment: TUSCANY-2323-recreate.patch

TUSCANY-2323-recreate.patch:  To recreate the problem, apply this patch and build the "helloworld-ws-service" sample.  testWsdlGeneration() test hits a error with the above mentioned exception.

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