Hi,
Did you put cxf se endpoint in one SA and put cxf bc endpoint in another
SA and deploy and start the SA contain cxf se endpoint first as we
discussed in this thread?
Freeman
johanp wrote:
Hi,
Built smx from snapshot and tested CXFBC with no WSDL deployed in SU, it
does not work, getting:
<loc-message>can't get wsdl</loc-message>
<stack-trace><![CDATA[javax.jbi.management.DeploymentException: can't get
wsdl
at
org.apache.servicemix.cxfbc.CxfBcConsumer.retrieveWSDL(CxfBcConsumer.
java:394)
at
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java
Freeman Fang wrote:
For servicemix 3.2.2 snapshot, we add a feature to support cxf bc
consumer to retrieve wsdl from internal endpoint if there is one. [1]
track this issue
So yes, cxf bc consumer can find wsdl from a cxf-se pojo since cxf se
will build servicemodel from the pojo you specify and then build wsdl
model from the servicemodel.
You need use the 3.2.2 snapshot to use this feature
[1]https://issues.apache.org/activemq/browse/SM-1400
Regards
Freeman
johanp wrote:
Hi,
Trying to setup a CXF BC consumer doing proxy call to CXF SE pojo.
The CXF BC does not find its WSDL (I dont supply any), would like to
build a service from bottom-up (no contract first) with a pojo deployed
CXF-SE.
Can a CXF-BC consumer find WSDL from a CXF-SE pojo like the sample below,
or do I have to create a WSDL document for the CXF-SE-pojo and place it
in
the CXF-BC ?
(When running this sample with a raw HTTP soap proxied to a JSR181
it works fine with WSDL creation.)
tia/Johan
============= CXF start=====================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:kg="http://kg/1.0">
<cxfbc:consumer service="kg:KS"
endpoint="KS"
targetEndpoint="KS"
targetService="ks:KS"
targetInterface="ks:KS"
locationURI="http://0.0.0.0:8192/KS"/>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:kg="http://kg/1.0">
<cxfse:endpoint service="kg:KS" endpoint="KS">
<cxfse:pojo>
<bean class="kg.KS" />
</cxfse:pojo>
</cxfse:endpoint>
</beans>
@WebService
public class KS {
public String pling(){
return "";
}
}
============= CXF stop=====================
Here no WSDL needed, HTTP consumer finds WSDL from JSR181 pojo:
============== HTTP/JSR181 start =================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:kg="http://kg/1.0">
<http:endpoint service="kg:KS"
endpoint="KS"
targetService="kg:KS"
role="consumer"
locationURI="http://0.0.0.0:8192/KS/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true" />
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
xmlns:kg="http://kg/1.0">
<jsr181:endpoint
service="kg:KS"
endpoint="KS"
pojoClass="kg.KS">
</jsr181:endpoint>
</beans>
@WebService
public class KS {
public String pling(){
return "";
}
============== HTTP/JSR181 stop =================