You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Glen Mazza <gl...@verizon.net> on 2007/11/14 01:42:24 UTC

when are interceptor chains created?

Hello,

I'm slightly confused on when interceptor chains[1] are created.  The
text gives sections on "On the incoming chains, you'll have the
following phases" and "On the outgoing chain there are the following
phases", but I'm unsure what incoming and outgoing refer to.

Is it:

1.) Only with respect to the client (outgoing chain = SOAP request,
incoming chain = SOAP Response, for a total of two chains per
request/response).

2.) Only with respect to the server (incoming = SOAP request, outgoing =
SOAP Response, for a total of two chains per request/response).

3.) Two sets of chains, one set each for client's perspective and from
the server's:  (four chains total)

Thanks,
Glen

[1] http://cwiki.apache.org/CXF20DOC/interceptors.html



RE: when are interceptor chains created?

Posted by "Jiang, Ning (Willem)" <Ni...@iona.com>.
Hi Glen,

I think the interceptor chains are sorted by the message flow's direction.
One is for incoming message , it could be the response message in client 
and the request message in server; the other is outgoing message which could 
be the request message in client and response message in server.

Willem.

-----Original Message-----
From: Glen Mazza [mailto:glen.mazza@verizon.net]
Sent: Wed 11/14/2007 8:42
To: cxf-user@incubator.apache.org
Subject: when are interceptor chains created?
 
Hello,

I'm slightly confused on when interceptor chains[1] are created.  The
text gives sections on "On the incoming chains, you'll have the
following phases" and "On the outgoing chain there are the following
phases", but I'm unsure what incoming and outgoing refer to.

Is it:

1.) Only with respect to the client (outgoing chain = SOAP request,
incoming chain = SOAP Response, for a total of two chains per
request/response).

2.) Only with respect to the server (incoming = SOAP request, outgoing =
SOAP Response, for a total of two chains per request/response).

3.) Two sets of chains, one set each for client's perspective and from
the server's:  (four chains total)

Thanks,
Glen

[1] http://cwiki.apache.org/CXF20DOC/interceptors.html



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

JaxWS Endoints in Tomcat with no wsdl

Posted by Sergey Beryozkin <se...@iona.com>.
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: when are interceptor chains created?

Posted by Glen Mazza <gl...@verizon.net>.
Oops!  Thanks--I'll have to update my blog entry on that.  (That's the
problem with technical evangelism--you need to know what you're talking
about...  ;-)

Glen

Am Freitag, den 16.11.2007, 12:26 -0500 schrieb Daniel Kulp:
> It's actuall even a little more complicated that that as there are two 
> other chains to consider:
> 
> 1) Server side: outgoing fault chain
> 
> 2) Client side: incoming fault chain
> 
> Dan
> 
> 
> On Tuesday 13 November 2007, Glen Mazza wrote:
> > Hello,
> >
> > I'm slightly confused on when interceptor chains[1] are created.  The
> > text gives sections on "On the incoming chains, you'll have the
> > following phases" and "On the outgoing chain there are the following
> > phases", but I'm unsure what incoming and outgoing refer to.
> >
> > Is it:
> >
> > 1.) Only with respect to the client (outgoing chain = SOAP request,
> > incoming chain = SOAP Response, for a total of two chains per
> > request/response).
> >
> > 2.) Only with respect to the server (incoming = SOAP request, outgoing
> > = SOAP Response, for a total of two chains per request/response).
> >
> > 3.) Two sets of chains, one set each for client's perspective and from
> > the server's:  (four chains total)
> >
> > Thanks,
> > Glen
> >
> > [1] http://cwiki.apache.org/CXF20DOC/interceptors.html
> 
> 
> 


Re: when are interceptor chains created?

Posted by Daniel Kulp <dk...@apache.org>.
It's actuall even a little more complicated that that as there are two 
other chains to consider:

1) Server side: outgoing fault chain

2) Client side: incoming fault chain

Dan


On Tuesday 13 November 2007, Glen Mazza wrote:
> Hello,
>
> I'm slightly confused on when interceptor chains[1] are created.  The
> text gives sections on "On the incoming chains, you'll have the
> following phases" and "On the outgoing chain there are the following
> phases", but I'm unsure what incoming and outgoing refer to.
>
> Is it:
>
> 1.) Only with respect to the client (outgoing chain = SOAP request,
> incoming chain = SOAP Response, for a total of two chains per
> request/response).
>
> 2.) Only with respect to the server (incoming = SOAP request, outgoing
> = SOAP Response, for a total of two chains per request/response).
>
> 3.) Two sets of chains, one set each for client's perspective and from
> the server's:  (four chains total)
>
> Thanks,
> Glen
>
> [1] http://cwiki.apache.org/CXF20DOC/interceptors.html



-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
daniel.kulp@iona.com
http://www.dankulp.com/blog

RE: when are interceptor chains created?

Posted by "Liu, Jervis" <jl...@iona.com>.
Hi Glen, this applies to both client side and server side. Incoming and outgoing refer to inbound and outbound. If this is still not clear, on the client side, incoming refers to receiving response from the server, outgoing refers to sending request to the server.

Cheers,
Jervis

> -----Original Message-----
> From: Glen Mazza [mailto:glen.mazza@verizon.net]
> Sent: 2007年11月14日 8:42
> To: cxf-user@incubator.apache.org
> Subject: when are interceptor chains created?
> 
> Hello,
> 
> I'm slightly confused on when interceptor chains[1] are created.  The
> text gives sections on "On the incoming chains, you'll have the
> following phases" and "On the outgoing chain there are the following
> phases", but I'm unsure what incoming and outgoing refer to.
> 
> Is it:
> 
> 1.) Only with respect to the client (outgoing chain = SOAP request,
> incoming chain = SOAP Response, for a total of two chains per
> request/response).
> 
> 2.) Only with respect to the server (incoming = SOAP request, outgoing =
> SOAP Response, for a total of two chains per request/response).
> 
> 3.) Two sets of chains, one set each for client's perspective and from
> the server's:  (four chains total)
> 
> Thanks,
> Glen
> 
> [1] http://cwiki.apache.org/CXF20DOC/interceptors.html

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

RE: when are interceptor chains created?

Posted by "Liu, Jervis" <jl...@iona.com>.
And yes, there are four chains, the outgoing chain and the incoming chain for the same client can be totally different.

Jervis

> -----Original Message-----
> From: Glen Mazza [mailto:glen.mazza@verizon.net]
> Sent: 2007年11月14日 8:42
> To: cxf-user@incubator.apache.org
> Subject: when are interceptor chains created?
> 
> Hello,
> 
> I'm slightly confused on when interceptor chains[1] are created.  The
> text gives sections on "On the incoming chains, you'll have the
> following phases" and "On the outgoing chain there are the following
> phases", but I'm unsure what incoming and outgoing refer to.
> 
> Is it:
> 
> 1.) Only with respect to the client (outgoing chain = SOAP request,
> incoming chain = SOAP Response, for a total of two chains per
> request/response).
> 
> 2.) Only with respect to the server (incoming = SOAP request, outgoing =
> SOAP Response, for a total of two chains per request/response).
> 
> 3.) Two sets of chains, one set each for client's perspective and from
> the server's:  (four chains total)
> 
> Thanks,
> Glen
> 
> [1] http://cwiki.apache.org/CXF20DOC/interceptors.html

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