Hi Guys,
While trying to create a WSDL for my consumer JMS BC on servicemix I got the
following error
<loc-message>WSDL is not WS-I BP compliant: [binding
"{http://services.is}isJMSFileConsumerInBinding" : Basic Profile Violation
#R2401: A wsdl:binding element in a DESCRIPTION MUST use WSDL SOAP Binding
as defined in WSDL 1.1 Section 3.]</loc-message>
<stack-trace><![CDATA[javax.jbi.management.DeploymentException: WSDL is not
WS-I BP compliant: [binding "{http://services.is}isJMSFileConsumerInBinding"
: Basic Profile Violation #R2401: A wsdl:binding element in a DESCRIPTION
MUST use WSDL SOAP Binding as defined in WSDL 1.1 Section 3.]
at
org.apache.servicemix.jms.endpoints.JmsSoapConsumerEndpoint.validateWsdl1(JmsSoapConsumerEndpoint.java:198)
at
org.apache.servicemix.jms.endpoints.JmsSoapConsumerEndpoint.validate(JmsSoapConsumerEndpoint.java:138)
While the exception is in itself self explanatory, I ws wondering what the
best way it is to generate a WSDL.
Here is the WSDL I generated from Netbeans wizard:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="isJMSFileConsumer" targetNamespace="http://services.is"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://services.is"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:jms="http://schemas.sun.com/jbi/wsdl-extensions/jms/">
<types/>
<message name="isJMSFileConsumerInOperationRequest">
<part name="part1" type="xsd:base64Binary"/>
</message>
<portType name="isJMSFileConsumerInPortType">
<operation name="isJMSFileConsumerInOperation">
<input name="input1"
message="tns:isJMSFileConsumerInOperationRequest"/>
</operation>
</portType>
<binding name="isJMSFileConsumerInBinding"
type="tns:isJMSFileConsumerInPortType">
<jms:binding/>
<operation name="isJMSFileConsumerInOperation">
<jms:operation destination="DefaultQueue"
destinationType="Queue"/>
<input name="input1">
<jms:message messageType="BytesMessage" bytesPart="part1"/>
</input>
</operation>
</binding>
<service name="isJMSFileConsumerIn">
<port name="isJMSFileConsumerInPortType"
binding="tns:isJMSFileConsumerInBinding">
<jms:address connectionURL="mq://localhost:61616"/>
</port>
</service>
<plnk:partnerLinkType name="isJMSFileConsumer">
<!-- A partner link type is automatically generated when a new port
type is added. Partner link types are used by BPEL processes.
In a BPEL process, a partner link represents the interaction between the
BPEL process and a partner service. Each partner link is associated with a
partner link type.
A partner link type characterizes the conversational relationship between
two services. The partner link type can have one or two roles.-->
<plnk:role name="isJMSFileConsumerInPortTypeRole"
portType="tns:isJMSFileConsumerInPortType"/>
</plnk:partnerLinkType>
</definitions>
And here is the xbean.xml for this service unit
<beans xmlns:jms="http://servicemix.apache.org/jms/1.0"
xmlns:is="http://services.is"
xmlns:amqpool="http://jencks.org/amqpool/2.0">
<classpath>
<location>.</location>
</classpath>
<bean id="connectionFactory"
class="org.apache.activemq.pool.PooledConnectionFactory">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
</property>
<!--Configure maximum connections used by the pool -->
<property name="maxConnections" value="10" />
<!--Configure maximum sessions per connection -->
<property name="maximumActive" value="10" />
</bean>
<!-- add the sender endpoint here -->
<bean id="myMarshaler"
class="org.apache.servicemix.components.util.BinaryFileMarshaler"/>
<jms:soap-consumer service="is:isJMSFileConsumer"
endpoint="isJMSFileConsumer"
wsdl="classpath:isJMSFileConsumer.wsdl"
validateWsdl="true"
targetService="is:isFTPWriter"
destinationName="queue/A/Soap"
connectionFactory="#connectionFactory"/>
</beans>
What is the best way to generate a WSDL for a binary message (attachment)
through JMS BC over SOAP?
kr.
--
View this message in context:
http://www.nabble.com/Binary-Message-WSDL-for-JMS-BC-%28Consumer%29-tp24789561p24789561.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.