[ 
https://issues.apache.org/jira/browse/CXF-7398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16041346#comment-16041346
 ] 

Hadrian Zbarcea commented on CXF-7398:
--------------------------------------

I misrepresented an issue above. The {{"/greeter-exact"}} is not a placeholder 
in the wsdl, but the value of the {{jaxws:endpoint/@address}} as in the snippet 
below. There are multiple {{jaxws:endpoint}} definitions in the same blueprint 
for the multiple ports. (The placeholder address in the wsdl is something like 
{{<soap:address location="http://example.com/SoapContext/GreeterPort3"/>}} so 
it uses the http: protocol).

{code}
    <jaxws:endpoint id="greeterExact"
                    address="/greeter-exact"
                    implementor="#greeterExactBean"
                    
implementorClass="org.apifocal.demo.greeter.service.GreeterService"
                    
wsdlLocation="META-INF/wsdl/org/apifocal/demo/greeter/wsrm/greeter.wsdl"
                    xmlns:ns1="http://demo.apifocal.org/greeter/wsrm";
                    serviceName="ns1:GreeterService" 
endpointName="ns1:GreeterPort3">
        <jaxws:features>
            <wsa:addressing />
        </jaxws:features>
    </jaxws:endpoint>
{code}

> Invalid wsdl with multiple ports published via ?wsdl
> ----------------------------------------------------
>
>                 Key: CXF-7398
>                 URL: https://issues.apache.org/jira/browse/CXF-7398
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 3.1.7
>            Reporter: Hadrian Zbarcea
>            Priority: Minor
>
> I suspect this issue may have been reported in the past, but couldn't find 
> anything.
> I have a wsdl with a service and multiple ports. The address for each port is 
> a dummy placehoder, like {{"/port1"}}, {{"/port2}}" anyway not a regular url 
> (it's {{"greeter-exact"}} in the stack trace below). My blueprint defines 
> multiple endpoints for the different ports.
> Going in the browser at the {{http://localhost:8181/cxf/}} all the endpoints 
> are listed properly, the endpoints behave as expected. However, the wsdl(s) 
> published for each endpoint only have the address for that particular 
> endpoint/port correctly, the other ports in the services are present, but 
> with their original placeholder address (i.e. the wsdl published for each of 
> the services is different, although technically it's the same wsdl).
> The issue is that trying to create a project with tools like SoapUI results 
> in an error, see trace below, due to the invalid addresses. There is a 
> workaround, to either define a wsdl with only one port, or with multiple 
> ports, but with address placeholders that are valid http:// urls.
> Ideally the correct wsdl would be published.
> {code}
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Sending request: GET 
> /cxf/greeter-once?wsdl=META-INF/wsdl/org/apifocal/demo/greeter/greeter.wsdl 
> HTTP/1.1
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Receiving response: HTTP/1.1 200 OK
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Connection can be kept alive indefinitely
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Loading Definition...
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Loading WSDL: 
> http://localhost:8181/cxf/greeter-once?wsdl
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Returning baseInputSource 
> [http://localhost:8181/cxf/greeter-once?wsdl]
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Returning latest import URI 
> [http://localhost:8181/cxf/greeter-once?wsdl=META-INF/wsdl/org/apifocal/demo/greeter/greeter.wsdl]
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Returning latest import URI 
> [http://localhost:8181/cxf/greeter-once?wsdl=META-INF/wsdl/org/apifocal/demo/greeter/greeter.wsdl]
> Wed Jun 07 10:20:51 EDT 2017:INFO:Loading schema types from 
> [http://localhost:8181/cxf/greeter-once?wsdl]
> Wed Jun 07 10:20:51 EDT 2017:INFO:Getting schema 
> http://localhost:8181/cxf/greeter-once?wsdl
> Wed Jun 07 10:20:51 EDT 2017:INFO:Getting schema 
> http://localhost:8181/cxf/greeter-once?wsdl=META-INF/wsdl/org/apifocal/demo/greeter/greeter.wsdl
> Wed Jun 07 10:20:51 EDT 2017:DEBUG:Loaded Definition: ok
> Wed Jun 07 10:20:51 EDT 2017:INFO:Finding importer for 
> {http://demo.apifocal.org/greeter}GreeterSOAPBinding
> Wed Jun 07 10:20:51 EDT 2017:INFO:Importing binding 
> {http://demo.apifocal.org/greeter}GreeterSOAPBinding
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing endpoint /greeter-wsrm
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing endpoint /greeter-exact
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing endpoint 
> http://localhost:8181/cxf/greeter-once
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing endpoint 
> http://example.com/SoapContext/GreeterPort
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing operation greetMe
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing operation greetMeOneWay
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing operation pingMe
> Wed Jun 07 10:20:51 EDT 2017:INFO:importing operation sayHi
> Wed Jun 07 10:21:23 EDT 2017:DEBUG:Connection closed
> Wed Jun 07 10:21:35 EDT 2017:ERROR:An error occurred 
> [com.eviware.soapui.impl.wsdl.submit.RequestTransportRegistry$MissingTransportException:
>  Missing protocol in endpoint [/greeter-exact]], see error log for details
> Wed Jun 07 10:21:40 EDT 2017:ERROR:An error occurred 
> [com.eviware.soapui.impl.wsdl.submit.RequestTransportRegistry$MissingTransportException:
>  Missing protocol in endpoint [/greeter-exact]], see error log for details
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to