You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Sergey Beryozkin <se...@iona.com> on 2007/11/22 11:15:15 UTC

JaxWS Endoints in Tomcat with no wsdl

Hi

I'm working on a test case which uses a CXFServlet which serves jaxws:endpoints with no wsdlLocation specified. The actual service implementation is not annotated with a wsdlLocation either.

For ex, in webapps/EchoApp

cxf-servlet.xml :

<jaxws:endpoint id="Echo" implementor="com.cxf.EchoImpl" address="/Echo"/>

web.xml :

<servlet-mapping>
        <servlet-name>CXF</servlet-name>
        <url-pattern>/jaxws/*</url-pattern>
</servlet-mapping>

and com.cxf.EchoImpl has no annotations too.

The applications is loaded just fine but requests like http://localhost:8080/EchoApp/jaxws/Echo?wsdl

fail with HTTP 400 which means that endpoints have not been propely registered...?wsdl is not even given a chance...

Can somepne please give me a hint where to start looking ? I was absolutely certain I had this test working few days ago and then it went failing again...

I'm looking at 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createEndpoints() method and if no wsdl is available initially then

this method does not create any endpoints...

Thanks, Sergey




----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Re: JaxWS Endoints in Tomcat with no wsdl

Posted by Sergey Beryozkin <se...@iona.com>.
Thanks Jeff...It was a confusion on my part. I was using a wrong URL to do the query from the Java code. Sorry for the noise on the 
dev list
Sergey

----- Original Message ----- 
From: "Jeff Yu" <je...@iona.com>
To: <cx...@incubator.apache.org>
Sent: Thursday, November 22, 2007 4:38 PM
Subject: Re: JaxWS Endoints in Tomcat with no wsdl


> Hi Sergey,
>
> From the error stack, it seems to me that it might having problems to get wsdl from that url directly.
> Could you make a try to get that url's wsdl through browser, and save it at your disk, and then refer the wsdl location to your 
> local file to see if it works.
> So that we can narrow down the problem.
>
> For the com.ibm.wsdl package, we are using the wsdl4j-1.6.1.jar.
>
> Thanks
> Jeff
>
> Sergey Beryozkin wrote:
>> Thanks Jeff...
>> There's something wrong in the cxf client side...After starting a tomcat
>> I can use  http://localhost:8080/EchoApp/jaxws/Echo?wsdl just fine from a browser,
>> yet when doing
>>
>> new EchoService("http://localhost:8080/EchoApp/jaxws/Echo?wsdl", SERVICE_QNAME)
>>
>> I'm getting a failure coming out of the ibm parser code
>>
>> Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Prob
>> lem parsing 'http://localhost:8080/EchoApp/jaxws/Echo?wsdl'.: java.io.IOExc
>> eption: Server returned HTTP response code: 400 for URL: http://localhost:8080/EchoApp/jaxws/Echo?wsdl        at 
>> com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
>>        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>>        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>>        at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.
>>
>> which is caused by the underlying xerces exception :
>>
>> http://localhost:8080/EchoApp/jaxws/Echo?wsdl
>>       at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
>> ection.java:1170)
>>       at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown So
>> rce)
>>
>> I'm wondering, is it a classpath issue with wrong version of either ibm or xerces code being pulled in by a maven ?
>>
>>
>> Cheers, Sergey
>>
>> ----- Original Message ----- From: "Jeff Yu" <je...@iona.com>
>> To: <cx...@incubator.apache.org>
>> Sent: Thursday, November 22, 2007 10:38 AM
>> Subject: Re: JaxWS Endoints in Tomcat with no wsdl
>>
>>
>>> Not sure if this is related to this JIRA: https://issues.apache.org/jira/browse/CXF-1143
>>>
>>> I would say look at the tomcat's console to see if there are error stacks, that would be helpful a lot to analysis problem.
>>>
>>> Thanks
>>> Jeff
>>>
>>> Sergey Beryozkin wrote:
>>>> Hi
>>>>
>>>> I'm working on a test case which uses a CXFServlet which serves jaxws:endpoints with no wsdlLocation specified. The actual 
>>>> service implementation is not annotated with a wsdlLocation either.
>>>>
>>>> For ex, in webapps/EchoApp
>>>>
>>>> cxf-servlet.xml :
>>>>
>>>> <jaxws:endpoint id="Echo" implementor="com.cxf.EchoImpl" address="/Echo"/>
>>>>
>>>> web.xml :
>>>>
>>>> <servlet-mapping>
>>>>         <servlet-name>CXF</servlet-name>
>>>>         <url-pattern>/jaxws/*</url-pattern>
>>>> </servlet-mapping>
>>>>
>>>> and com.cxf.EchoImpl has no annotations too.
>>>>
>>>> The applications is loaded just fine but requests like http://localhost:8080/EchoApp/jaxws/Echo?wsdl
>>>>
>>>> fail with HTTP 400 which means that endpoints have not been propely registered...?wsdl is not even given a chance...
>>>>
>>>> Can somepne please give me a hint where to start looking ? I was absolutely certain I had this test working few days ago and 
>>>> then it went failing again...
>>>>
>>>> I'm looking at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createEndpoints() method and if no wsdl is available 
>>>> initially then
>>>>
>>>> this method does not create any endpoints...
>>>>
>>>> Thanks, Sergey
>>>>
>>>>
>>>>
>>>>
>>>> ----------------------------
>>>> IONA Technologies PLC (registered in Ireland)
>>>> Registered Number: 171387
>>>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>>>>
>>>>
>>
>> ----------------------------
>> IONA Technologies PLC (registered in Ireland)
>> Registered Number: 171387
>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>> 

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Re: JaxWS Endoints in Tomcat with no wsdl

Posted by Jeff Yu <je...@iona.com>.
Hi Sergey,

 From the error stack, it seems to me that it might having problems to 
get wsdl from that url directly.
Could you make a try to get that url's wsdl through browser, and save it 
at your disk, and then refer the wsdl location to your local file to see 
if it works.
So that we can narrow down the problem.

For the com.ibm.wsdl package, we are using the wsdl4j-1.6.1.jar.

Thanks
Jeff

Sergey Beryozkin wrote:
> Thanks Jeff...
> There's something wrong in the cxf client side...After starting a tomcat
> I can use  http://localhost:8080/EchoApp/jaxws/Echo?wsdl just fine 
> from a browser,
> yet when doing
>
> new EchoService("http://localhost:8080/EchoApp/jaxws/Echo?wsdl", 
> SERVICE_QNAME)
>
> I'm getting a failure coming out of the ibm parser code
>
> Caused by: javax.wsdl.WSDLException: WSDLException: 
> faultCode=PARSER_ERROR: Prob
> lem parsing 'http://localhost:8080/EchoApp/jaxws/Echo?wsdl'.: 
> java.io.IOExc
> eption: Server returned HTTP response code: 400 for URL: 
> http://localhost:8080/EchoApp/jaxws/Echo?wsdl        at 
> com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
>        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>        at 
> org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.
>
> which is caused by the underlying xerces exception :
>
> http://localhost:8080/EchoApp/jaxws/Echo?wsdl
>       at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
> ection.java:1170)
>       at 
> org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown So
> rce)
>
> I'm wondering, is it a classpath issue with wrong version of either 
> ibm or xerces code being pulled in by a maven ?
>
>
> Cheers, Sergey
>
> ----- Original Message ----- From: "Jeff Yu" <je...@iona.com>
> To: <cx...@incubator.apache.org>
> Sent: Thursday, November 22, 2007 10:38 AM
> Subject: Re: JaxWS Endoints in Tomcat with no wsdl
>
>
>> Not sure if this is related to this JIRA: 
>> https://issues.apache.org/jira/browse/CXF-1143
>>
>> I would say look at the tomcat's console to see if there are error 
>> stacks, that would be helpful a lot to analysis problem.
>>
>> Thanks
>> Jeff
>>
>> Sergey Beryozkin wrote:
>>> Hi
>>>
>>> I'm working on a test case which uses a CXFServlet which serves 
>>> jaxws:endpoints with no wsdlLocation specified. The actual service 
>>> implementation is not annotated with a wsdlLocation either.
>>>
>>> For ex, in webapps/EchoApp
>>>
>>> cxf-servlet.xml :
>>>
>>> <jaxws:endpoint id="Echo" implementor="com.cxf.EchoImpl" 
>>> address="/Echo"/>
>>>
>>> web.xml :
>>>
>>> <servlet-mapping>
>>>         <servlet-name>CXF</servlet-name>
>>>         <url-pattern>/jaxws/*</url-pattern>
>>> </servlet-mapping>
>>>
>>> and com.cxf.EchoImpl has no annotations too.
>>>
>>> The applications is loaded just fine but requests like 
>>> http://localhost:8080/EchoApp/jaxws/Echo?wsdl
>>>
>>> fail with HTTP 400 which means that endpoints have not been propely 
>>> registered...?wsdl is not even given a chance...
>>>
>>> Can somepne please give me a hint where to start looking ? I was 
>>> absolutely certain I had this test working few days ago and then it 
>>> went failing again...
>>>
>>> I'm looking at 
>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createEndpoints() 
>>> method and if no wsdl is available initially then
>>>
>>> this method does not create any endpoints...
>>>
>>> Thanks, Sergey
>>>
>>>
>>>
>>>
>>> ----------------------------
>>> IONA Technologies PLC (registered in Ireland)
>>> Registered Number: 171387
>>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, 
>>> Ireland
>>>
>>>
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>

Re: JaxWS Endoints in Tomcat with no wsdl

Posted by Sergey Beryozkin <se...@iona.com>.
Thanks Jeff...
There's something wrong in the cxf client side...After starting a tomcat
I can use  http://localhost:8080/EchoApp/jaxws/Echo?wsdl just fine from a browser,
yet when doing

new EchoService("http://localhost:8080/EchoApp/jaxws/Echo?wsdl", SERVICE_QNAME)

I'm getting a failure coming out of the ibm parser code

Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Prob
lem parsing 'http://localhost:8080/EchoApp/jaxws/Echo?wsdl'.: java.io.IOExc
eption: Server returned HTTP response code: 400 for URL: http://localhost:8080/EchoApp/jaxws/Echo?wsdl        at 
com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
        at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.

which is caused by the underlying xerces exception :

http://localhost:8080/EchoApp/jaxws/Echo?wsdl
       at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
ection.java:1170)
       at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown So
rce)

I'm wondering, is it a classpath issue with wrong version of either ibm or xerces code being pulled in by a maven ?


Cheers, Sergey

----- Original Message ----- 
From: "Jeff Yu" <je...@iona.com>
To: <cx...@incubator.apache.org>
Sent: Thursday, November 22, 2007 10:38 AM
Subject: Re: JaxWS Endoints in Tomcat with no wsdl


> Not sure if this is related to this JIRA: https://issues.apache.org/jira/browse/CXF-1143
>
> I would say look at the tomcat's console to see if there are error stacks, that would be helpful a lot to analysis problem.
>
> Thanks
> Jeff
>
> Sergey Beryozkin wrote:
>> Hi
>>
>> I'm working on a test case which uses a CXFServlet which serves jaxws:endpoints with no wsdlLocation specified. The actual 
>> service implementation is not annotated with a wsdlLocation either.
>>
>> For ex, in webapps/EchoApp
>>
>> cxf-servlet.xml :
>>
>> <jaxws:endpoint id="Echo" implementor="com.cxf.EchoImpl" address="/Echo"/>
>>
>> web.xml :
>>
>> <servlet-mapping>
>>         <servlet-name>CXF</servlet-name>
>>         <url-pattern>/jaxws/*</url-pattern>
>> </servlet-mapping>
>>
>> and com.cxf.EchoImpl has no annotations too.
>>
>> The applications is loaded just fine but requests like http://localhost:8080/EchoApp/jaxws/Echo?wsdl
>>
>> fail with HTTP 400 which means that endpoints have not been propely registered...?wsdl is not even given a chance...
>>
>> Can somepne please give me a hint where to start looking ? I was absolutely certain I had this test working few days ago and then 
>> it went failing again...
>>
>> I'm looking at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createEndpoints() method and if no wsdl is available 
>> initially then
>>
>> this method does not create any endpoints...
>>
>> Thanks, Sergey
>>
>>
>>
>>
>> ----------------------------
>> IONA Technologies PLC (registered in Ireland)
>> Registered Number: 171387
>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>>
>> 

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Re: JaxWS Endoints in Tomcat with no wsdl

Posted by Jeff Yu <je...@iona.com>.
Not sure if this is related to this JIRA: 
https://issues.apache.org/jira/browse/CXF-1143

I would say look at the tomcat's console to see if there are error 
stacks, that would be helpful a lot to analysis problem.

Thanks
Jeff

Sergey Beryozkin wrote:
> Hi
>
> I'm working on a test case which uses a CXFServlet which serves jaxws:endpoints with no wsdlLocation specified. The actual service implementation is not annotated with a wsdlLocation either.
>
> For ex, in webapps/EchoApp
>
> cxf-servlet.xml :
>
> <jaxws:endpoint id="Echo" implementor="com.cxf.EchoImpl" address="/Echo"/>
>
> web.xml :
>
> <servlet-mapping>
>         <servlet-name>CXF</servlet-name>
>         <url-pattern>/jaxws/*</url-pattern>
> </servlet-mapping>
>
> and com.cxf.EchoImpl has no annotations too.
>
> The applications is loaded just fine but requests like http://localhost:8080/EchoApp/jaxws/Echo?wsdl
>
> fail with HTTP 400 which means that endpoints have not been propely registered...?wsdl is not even given a chance...
>
> Can somepne please give me a hint where to start looking ? I was absolutely certain I had this test working few days ago and then it went failing again...
>
> I'm looking at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createEndpoints() method and if no wsdl is available initially then
>
> this method does not create any endpoints...
>
> Thanks, Sergey
>
>
>
>
> ----------------------------
> IONA Technologies PLC (registered in Ireland)
> Registered Number: 171387
> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
>
>