-
1. Re: HTTP Router Contract
h.wolffenbuttel Mar 17, 2010 12:32 PM (in response to jhenry)1 of 1 people found this helpfulHi Jonathan,
The HTTPRouter does not register a contract, it is just there to connect to another HTTP-endpoint or a Webservice. The way to get a contract is to make your service into a webservice with inxsd and outxsd defined and webservice="true" in your actions declaration. Take notice of the fact that you need both (inxsd and outxsd) for RequestResponse.
Regards,
Hans
-
2. Re: HTTP Router Contract
jhenry Mar 17, 2010 12:44 PM (in response to h.wolffenbuttel)Thank you for the response. I'm having trouble finding an example that references a webservice. Do you know of a good example I could use for reference?
Thanks,
jhenry
-
3. Re: HTTP Router Contract
h.wolffenbuttel Mar 18, 2010 4:25 AM (in response to jhenry)Hi,
The quickstart publish as a webservice does just that: http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/samples/quickstarts/publish_as_webservice
The in and outxsd are ment for validating the messages but that can be overidden by setting validate="false" in the actions configuration.
here an example:
{code:xml}
<services>
<service category="httpgateway" description="Send messages" invmScope="NONE" name="MessageSender"><listeners>
<jms-listener busidref="listenerBus" is-gateway="false"
maxThreads="50" name="BusListener"/>
</listeners>
<actions faultXsd="/somewheredef.xsd" inXsd="/somewheredef.xsd"
mep="RequestResponse" outXsd="/somewheredef.xsd" validate="false" webservice="true">
<action class="nl.gouwit.esb.actions.HttpDynamicRouter" name="SendAction">
<property name="endpointUrl" value="http://127.0.0.1:2255/SomeWhereListener?WSDL"/>
<property name="method" value="POST"/>
<property name="responseType" value="STRING"/>
<property name="debug" value="false"/>
<property name="headers">
<header name="SOAPAction" value="http://www.somewhere.com/"/>
<header name="operation" value="anOperationname"/>
</property>
</action>
</actions>
</service>
{code}
Regards,
Hans