The WSDL is correct for what you provided. In the applicationContext.xml, you
have:
<jaxws:endpoint id="testServiceWS" address="/TestService"
implementor="#testWebService"
endpointName="TestServiceEndpoint"
serviceName="TestService"
/>
ServiceName and endpointName are QNames. They need a namespace. Since you
don’t have a prefix on them, they are using the default namespace for your
application context (which is the spring namespace). The the wsdl you are
seeing is the wsdl for the concrete part (the binding and the service) which
are both in that namespace. The portType part of the wsdl is in a different
namespace (derived from the package) and is thus include via the wsdl:include
line.
The easiest way to fix it would be to remove those two attributes from there
and add a @WebService annotation on the impl bean that provides the names.
Alternatively, define the namespace in the applicationCOntext.xml and prefix
those names correctly.
Dan
> On Oct 27, 2015, at 2:33 PM, Maxim Solodovnik <[email protected]> wrote:
>
> I just have created quickstart (CXF 3.1.3)
> to check this out:
>
> git clone https://github.com/solomax/implonly
> mvn jetty:run
>
> access http://localhost:8080/services/TestService?wsdl
>
> the code is extremely simple:
> https://github.com/solomax/implonly/blob/master/src/main/java/com/mycompany/javafirst/TestWebService.java
> WSDL don't look like WSDL :(((
> what I'm I doing wrong?
>
> On Sat, Sep 19, 2015 at 10:38 PM, Maxim Solodovnik <[email protected]>
> wrote:
>
>> forgot to mention: CXF 3.1.2
>>
>> On Sat, Sep 19, 2015 at 8:12 PM, Maxim Solodovnik <[email protected]>
>> wrote:
>>
>>> Hello All,
>>>
>>> I'm trying to create SOAP/JSON web service using java-first approach.
>>> I would like to minimize xml files, interfaces being created and other
>>> stuff not related to the service code.
>>> The application is spring based, endpoint is defined here [1]
>>> webservice is defined here [2]
>>>
>>> the issue is: resulting wsdl contains no type definitions, no method
>>> signatures and looks like follows:
>>>
>>> <wsdl:operation name="add">
>>> <soap:operation soapAction="" style="document"/>
>>> <wsdl:input name="add">
>>> <soap:body use="literal"/>
>>> </wsdl:input>
>>> <wsdl:output name="addResponse">
>>> <soap:body use="literal"/>
>>> </wsdl:output>
>>> <wsdl:fault name="ServiceException">
>>> <soap:fault name="ServiceException" use="literal"/>
>>> </wsdl:fault>
>>> </wsdl:operation>
>>>
>>> I have no targetNamespace definitions in annotations, how can I fix wsdl
>>> being generated?
>>>
>>> Thanks in advance!
>>>
>>>
>>> [1]
>>> https://github.com/apache/openmeetings/blob/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml#L290
>>> [2]
>>> https://github.com/apache/openmeetings/blob/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> WBR
> Maxim aka solomax
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com