Hi,
Your sevice name in your wsdl is contractSOAP, so you need set he
serviceName for your cxf bc consumer configuration accordingly.
Freeman
brijesh wrote:
hello,
I have create a cxf-bc, while I am deploying I am getting following error
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
definition for service {http://ekaplus.com/contract}createContractBC.
full stack as folows
<stack-trace><![CDATA[javax.jbi.management.DeploymentException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
definition for service {
ttp://ekaplus.com/contract}createContractBC.
at
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:421)
at
org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)
at
org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:96)
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:353)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not find definition for service
{http://ekaplus.com/contract}createContractBC.
at
org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:114)
at
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:319)
... 13 more
following is my wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.example.org/example/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="example"
targetNamespace="http://www.example.org/example/"
xmlns:xsd1="com.ekaplus.v7.cotton.physical.contract"
xmlns:xsd2="http://www.ekaplus.com/integration/common/document/return">
<wsdl:types><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/example/">
<xsd:element name="createContract">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in"
type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="createContractResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out"
type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element></xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="com.ekaplus.v7.cotton.physical.contract"
schemaLocation="contract.xsd">
</xsd:import>
<xsd:import
namespace="http://www.ekaplus.com/integration/common/document/return"
schemaLocation="ReturnDocument.xsd">
</xsd:import></xsd:schema></wsdl:types>
<wsdl:message name="createContractRequest">
<wsdl:part name="parameters" element="xsd1:Contract"></wsdl:part>
</wsdl:message>
<wsdl:message name="createContractResponse">
<wsdl:part name="parameters" element="xsd2:ReturnDocument"></wsdl:part>
</wsdl:message>
<wsdl:portType name="contract">
<wsdl:operation name="createContract">
<wsdl:input message="tns:createContractRequest"></wsdl:input>
<wsdl:output message="tns:createContractResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="contractSOAPBinding" type="tns:contract">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="createContract">
<soap:operation
soapAction="http://www.example.org/example/createContract"
/>
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="contractSOAP">
<wsdl:port name="contractSOAPService"
binding="tns:contractSOAPBinding">
<soap:address location="http://localhost:8092/ContractService/"
/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>