I am attempting to use the new org.servicemix.components.http.HttpSoapInOutBinding class and when I navigate to the URL that's bound to this component and try and display the WSDL of it for some reason it's not displaying the wsdl of the actual xfire service bean that I want to expose. Any ideas? The url I am navigating to looks something like this:
http://localhost:8080/servicemix-example/jbi/soap/?wsdl Here is the WSDL output that gets displayed: <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://http.components.servicemix.org" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://http.components.servicemix.org"> - <wsdl:types> - <xsd:schema targetNamespace="http://http.components.servicemix.org" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:element name="invokeInOutin0" type="xsd:anyType" /> <xsd:element name="invokeInOutout" type="xsd:anyType" /> </xsd:schema> </wsdl:types> - <wsdl:message name="invokeInOutRequest"> <wsdl:part element="tns:invokeInOutin0" name="invokeInOutin0" /> </wsdl:message> - <wsdl:message name="invokeInOutResponse"> <wsdl:part element="tns:invokeInOutout" name="invokeInOutout" /> </wsdl:message> - <wsdl:portType name="InOutServicePortType"> - <wsdl:operation name="invokeInOut"> <wsdl:input message="tns:invokeInOutRequest" name="invokeInOutRequest" /> <wsdl:output message="tns:invokeInOutResponse" name="invokeInOutResponse" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="InOutServiceHttpBinding" type="tns:InOutServicePortType"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="invokeInOut"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="invokeInOutRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> - <wsdl:output name="invokeInOutResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="InOutService"> - <wsdl:port binding="tns:InOutServiceHttpBinding" name="InOutServiceHttpPort"> <wsdlsoap:address location="http://localhost:8080/servicemix-example/jbi/soap/echoService/ " /> </wsdl:port> </wsdl:service> </wsdl:definitions>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xbean.org/schemas/spring/1.0" xmlns:spring="http://xbean.org/schemas/spring/1.0" xmlns:sm="http://servicemix.org/config/1.0" xmlns:my="http://servicemix.org/demo/" xmlns:foo="http://servicemix.org/demo/" xmlns:xfire="http://xfire.components.servicemix.org"> <!-- the JBI container --> <sm:container spring:id="jbi" rootDir="../wdir" useMBeanServer="true" createMBeanServer="true" installationDirPath="../install" deploymentDirPath="../deploy" monitorInstallationDirectory="true" dumpStats="true" statsInterval="10" transactionManager="#transactionManager"> <sm:activationSpecs> <sm:activationSpec componentName="httpBinding" service="http:httpBinding" destinationService="http:echoService"> <sm:component><bean class="org.servicemix.components.http.HttpInOutBinding" /></sm:component> </sm:activationSpec> <sm:activationSpec componentName="soapBinding" service="soap:soapBinding" destinationService="xfire:echoService"> <sm:component><bean class="org.servicemix.components.http.HttpSoapInOutBinding" /></sm:component> </sm:activationSpec> <!-- a simple Echo service to test InOut message exchanges using HTTP--> <sm:activationSpec componentName="echo" service="http:echoService" > <sm:component> <bean class="com.sterling.servicemix.component.ExampleComponent"> <property name="property"><value>name</value></property> </bean> </sm:component> </sm:activationSpec> <sm:activationSpec componentName="soapBinding" service="soap:soapBinding" destinationService="xfire:echoService"> <sm:component> <bean class="org.servicemix.components.http.HttpSoapConnector"> <property name="host" value="localhost"/> <property name="port" value="8081"/> </bean> </sm:component> </sm:activationSpec> <sm:activationSpec componentName="xfireBinding" service="xfire:echoService"> <sm:component> <bean class="org.servicemix.components.xfire.XFireBinding"> <property name="xfire" ref="xfire"/> </bean> </sm:component> </sm:activationSpec> </sm:activationSpecs> </sm:container> <bean id="echo" class="com.sterling.servicemix.component.xfire.EchoImpl" singleton="true"/> <bean name="echoService" class="org.codehaus.xfire.spring.ServiceBean"> <property name="serviceBean"><value>echo</value></property> <property name="serviceFactory" ref="xfire.serviceFactory"/> <property name="xfire" ref="xfire"/> </bean> <!-- the JCA container --> <bean id="jencks" class="org.jencks.JCAContainer" singleton="true"> <!-- lets use the default configuration of work manager and transaction manager--> <property name="bootstrapContext"> <bean class="org.jencks.factory.BootstrapContextFactoryBean"> <property name="threadPoolSize" value="25"/> </bean> </property> <!-- the JCA Resource Adapter --> <property name="resourceAdapter"> <bean id="activeMQResourceAdapter" class="org.activemq.ra.ActiveMQResourceAdapter" singleton="true"> <property name="serverUrl" value="tcp://localhost:61636"/> </bean> </property> </bean> <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean"/> </beans>
