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