Hi

On 20/12/11 12:48, Ben Pezzei wrote:
Hi again,

To answer my own question: After modifying some weblogic-classloader config
and creating one Bus-Instance per webApp the EAR deploys now.

Which leads to the next problem: Since there may be some identical services
in webApp A and webApp B an invocation of a Service of webApp B delivers somehow
the service Object of webApp A.

In both webApps we have something like

         <jaxws:endpoint id="customerBaseEndpointImpl"
                 implementor="a.b.c.CustomerBasePortImpl"
                 address="/CustomerBaseBindingPort">
         </jaxws:endpoint>

This means in both WebApps is a wsdl2java-generated Interface
and Implementor (same name, same namespace, etc).

As I understand it jaxws saves a generated endpoint, and when it comes
across an identical serviceDefinition it will return the first (and only) one.

So the question is: Is there any way, to configure cxf to cope with this
Situation (An idea may be multiplexing but we dont have the time to
rebuild this project-structure). Another idea may be adding an Invoker, although
I didnt find any example for this setup.

I'm not 100% sure that it help with the JAX-WS case, but
a servlet init parameter "disable-address-updates" is the one to try.

Cheers, Sergey


As before, any help is greatly appreciated

regards
Ben


2011/12/1 Ben Pezzei<[email protected]>:
Hi

After switching from a very old Axis Version to CXF 2.4.1 (within
Weblogic 9.2) we have the following problem - after solving at least a
dozen other Problems ;-) :

An Ear-File contains (at least) two web-projects, which are deployed
as webApp_v1&  webApp_v2 (naming was changed),
and the corresponding jar-files. The webApps offer Webservices and for
compatibilty-reasons they have to be versioned (i.e. there may be an
identical service available under 2 different URLs
$host/webApp_v1/service&  $host/webApp_v2/service).

For each war-file exists a web.xml which defines a CXFServlet and a
org.springframework.web.context.ContextLoaderListener.

Additionally each war-file contains the generated java-classes
(generated by cxf from wsdl) and "a lot" of spring-bean-definitions.

During deployment-process the creation of the second webapp fails,
with a quite confusing spring-errorMessage:

Cannot convert value of type [a.b.c.UtilityBeanImpl] to required type
[a.b.c.UtilityBeanInterface] for property
'someInternalBeanNothingToDoWithCXF': no matching editors or
conversion strategy found

a.b.c.UtilityBeanImpl is nested deeply into our
"spring-bean-hierarchy" and some other bean is injected finally into
the CXF-ServiceBean. The reason why the creation of
a.b.c.UtilityBeanImpl fails is simply the fact that it is the first
defined in the springBean.xml

If we deploy only one webApp everything is fine.

The definition of our endpoints ist straightforward:

        <jaxws:endpoint id="customerBaseEndpointImpl"
                implementor="a.b.c.CustomerBasePortImpl"
                address="/CustomerBaseBindingPort">
        </jaxws:endpoint>

where a.b.c.CustomerBasePortImpl is the generated CXF-ServiceImpl.

So the question is how to configure our setup to support multiple
Endpoints of the same wsdl (which may differ) within our
ApplicationContext.

Any Help or ideas is very appreciated

tnx
Ben


--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Reply via email to