Hello Keith,
Thanks for your reply.
The original wsdl had a wsdl port definition in it. I did remove that because in the service definition bindings properties I have to specify a wsdl and a port definition.
Putting it back in did the trick! No more org.jboss.msc.service.StartException !!
It was my understanding that these bindings properties would replace the port definition in the wsdl.
Can you explain to my why I have to define the port twice??
I can't give you no more error message since switchyard does not give me any more error messages! Just the "Unbound Operation: Cannot resolve operation "vchmsg34" on target." for each operation in my WSDL in a stickey note on the canvas and the stack trace I already put in my first question. Mayby switchyard should provide some more details on these errors.
Unfortunaltly, I still run into errors, the "Unbound Operation: Cannot resolve operation "vchmsg34" on target." are still there.
Here are my curent wsdl , Camel routing and switchyard xml:
<?xml version='1.0'?>
<definitions name='KVA50BrokerServices' targetNamespace='http://org.jboss.ws/httpbinding'
xmlns='http://schemas.xmlsoap.org/wsdl/'
xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/'
xmlns:tns='http://org.jboss.ws/httpbinding'
xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:kva50="http://surf.nl/kva5/berichten"
>
<import namespace="http://surf.nl/kva5/berichten" location="kva50.xsd" />
<!-- $Revision: 1.6 $ -->
<!-- vchmsg03: Bericht om een inschrijving door te geven, zolang de status niet bevestigd is door de instelling spreken we van een aanmelding -->
<message name="vchmsg03">
<part name="vchmsg03" element="kva50:vchmsg03"/>
</message>
<!-- vchmsg04: Bericht om de identiteit van de student te bevestigen, door GBA code of paspoort controle aan de balie -->
<message name="vchmsg04">
<part name="vchmsg04" element="kva50:vchmsg04"/>
</message>
<!-- vchmsg05: Bericht om wijzigingen in de persoonsgegevens van een student door te geven -->
<message name="vchmsg05">
<part name="vchmsg05" element="kva50:vchmsg05"/>
</message>
<!-- vchmsg06: Bericht om een adreswijziging door te geven -->
<message name="vchmsg06">
<part name="vchmsg06" element="kva50:vchmsg06"/>
</message>
<!-- vchmsg07: Bericht om vooropleidingen door te geven -->
<message name="vchmsg07">
<part name="vchmsg07" element="kva50:vchmsg07"/>
</message>
<!-- vchmsg08: Bericht om betaalgegevens door te geven voor een isncrhijving -->
<message name="vchmsg08">
<part name="vchmsg08" element="kva50:vchmsg08"/>
</message>
<!-- vchmsg10: Certificeren vooropleidingen -->
<message name="vchmsg10">
<part name="vchmsg10" element="kva50:vchmsg10"/>
</message>
<!-- vchmsg19: Bericht om aan andere instellingen door te geven dat collegegeld betaald of teruggestort is -->
<message name="vchmsg19">
<part name="vchmsg19" element="kva50:vchmsg19"/>
</message>
<!-- vchmsg20: Bericht om aan VCH het bedrag aan te betalen college geld door te geven, voor het zelf printen van de machtinging. -->
<message name="vchmsg20">
<part name="vchmsg20" element="kva50:vchmsg20"/>
</message>
<!-- vchmsg22: Bericht om mededeling naar VCH te sturen voor een student, behorende bij een inschrijving/aanmelding -->
<message name="vchmsg22">
<part name="vchmsg22" element="kva50:vchmsg22"/>
</message>
<!-- vchmsg25: Bericht van VCH naar een instelling om aan te geven dat een student zijn inschrijving wil verlengen naar het volgende studiejaar -->
<message name="vchmsg25">
<part name="vchmsg25" element="kva50:vchmsg25"/>
</message>
<!-- vchmsg30: Wijzigingen student id doorgeven (honummer) aan SIS -->
<message name="vchmsg30">
<part name="vchmsg30" element="kva50:vchmsg30"/>
</message>
<!-- vchmsg31: Bericht om wijzigingen in een inschrijving in het SIS aan VCH door te geven -->
<message name="vchmsg31">
<part name="vchmsg31" element="kva50:vchmsg31"/>
</message>
<!-- vchmsg34: Inschrijving vanuit SIS, apart bericht om studentnummer te verplichten -->
<message name="vchmsg34">
<part name="vchmsg34" element="kva50:vchmsg34"/>
</message>
<!-- vchmsg35: Bericht om een wijziging in een inschrijving vanuit VCH bij het SIS aan te vragen -->
<message name="vchmsg35">
<part name="vchmsg35" element="kva50:vchmsg35"/>
</message>
<!-- vchmsg37: Bericht om het overlijden van een student vanuit SIS door te geven aan Sl en andere SISen -->
<message name="vchmsg37">
<part name="vchmsg37" element="kva50:vchmsg37"/>
</message>
<!-- vchmsg39: Bericht om de status van een verzoek tot inschrijving in RASP (IB-G) door te geven aan studielink en SIS -->
<message name="vchmsg39">
<part name="vchmsg39" element="kva50:vchmsg39"/>
</message>
<message name="vchmsg47">
<part name="vchmsg47" element="kva50:vchmsg47"/>
</message>
<message name="vchmsg48">
<part name="vchmsg48" element="kva50:vchmsg48"/>
</message>
<!-- result: SOAP reply bericht = response wordt standaard als vchmsgxxResponse gestuurd -->
<message name="response">
<part name="response" element="kva50:response"/>
</message>
<message name="vchmsg03Response">
<part name="response" element="kva50:vchmsg03Response"/>
</message>
<message name="vchmsg04Response">
<part name="response" element="kva50:vchmsg04Response"/>
</message>
<message name="vchmsg05Response">
<part name="response" element="kva50:vchmsg05Response"/>
</message>
<message name="vchmsg06Response">
<part name="response" element="kva50:vchmsg06Response"/>
</message>
<message name="vchmsg07Response">
<part name="response" element="kva50:vchmsg07Response"/>
</message>
<message name="vchmsg08Response">
<part name="response" element="kva50:vchmsg08Response"/>
</message>
<message name="vchmsg10Response">
<part name="response" element="kva50:vchmsg10Response"/>
</message>
<message name="vchmsg19Response">
<part name="response" element="kva50:vchmsg19Response"/>
</message>
<message name="vchmsg20Response">
<part name="response" element="kva50:vchmsg20Response"/>
</message>
<message name="vchmsg22Response">
<part name="response" element="kva50:vchmsg22Response"/>
</message>
<message name="vchmsg25Response">
<part name="response" element="kva50:vchmsg25Response"/>
</message>
<message name="vchmsg30Response">
<part name="response" element="kva50:vchmsg30Response"/>
</message>
<message name="vchmsg31Response">
<part name="response" element="kva50:vchmsg31Response"/>
</message>
<message name="vchmsg35Response">
<part name="response" element="kva50:vchmsg35Response"/>
</message>
<message name="vchmsg34Response">
<part name="response" element="kva50:vchmsg34Response"/>
</message>
<message name="vchmsg37Response">
<part name="response" element="kva50:vchmsg37Response"/>
</message>
<message name="vchmsg39Response">
<part name="response" element="kva50:vchmsg39Response"/>
</message>
<message name="vchmsg46Response">
<part name="response" element="kva50:vchmsg46Response"/>
</message>
<message name="vchmsg47Response">
<part name="response" element="kva50:vchmsg47Response"/>
</message>
<message name="vchmsg48Response">
<part name="response" element="kva50:vchmsg48Response"/>
</message>
<portType name='kva50'>
<operation name="vchmsg03">
<input message="tns:vchmsg03"/>
<output message="tns:vchmsg03Response"/>
</operation>
<operation name="vchmsg04">
<input message="tns:vchmsg04"/>
<output message="tns:vchmsg04Response"/>
</operation>
<operation name="vchmsg06">
<input message="tns:vchmsg06"/>
<output message="tns:vchmsg06Response"/>
</operation>
<operation name="vchmsg10">
<input message="tns:vchmsg10"/>
<output message="tns:vchmsg10Response"/>
</operation>
<operation name="vchmsg19">
<input message="tns:vchmsg19"/>
<output message="tns:vchmsg19Response"/>
</operation>
<operation name="vchmsg20">
<input message="tns:vchmsg20"/>
<output message="tns:vchmsg20Response"/>
</operation>
<operation name="vchmsg22">
<input message="tns:vchmsg22"/>
<output message="tns:vchmsg22Response"/>
</operation>
<operation name="vchmsg31">
<input message="tns:vchmsg31"/>
<output message="tns:vchmsg31Response"/>
</operation>
<operation name="vchmsg34">
<input message="tns:vchmsg34"/>
<output message="tns:vchmsg34Response"/>
</operation>
<operation name="vchmsg37">
<input message="tns:vchmsg37"/>
<output message="tns:vchmsg37Response"/>
</operation>
<operation name="vchmsg48">
<input message="tns:vchmsg48"/>
<output message="tns:vchmsg48Response"/>
</operation>
</portType>
<binding name='kva50Binding' type='tns:kva50'>
<http:binding verb='POST'/>
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="vchmsg03">
<wsdlsoap:operation soapAction="vchmsg03"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg04">
<wsdlsoap:operation soapAction="vchmsg04"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg06">
<wsdlsoap:operation soapAction="vchmsg06"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg10">
<wsdlsoap:operation soapAction="vchmsg10"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg19">
<wsdlsoap:operation soapAction="vchmsg19"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg20">
<wsdlsoap:operation soapAction="vchmsg20"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg22">
<wsdlsoap:operation soapAction="vchmsg22"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg31">
<wsdlsoap:operation soapAction="vchmsg31"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg34">
<wsdlsoap:operation soapAction="vchmsg34"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg37">
<wsdlsoap:operation soapAction="vchmsg37"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
<operation name="vchmsg48">
<wsdlsoap:operation soapAction="vchmsg48"/>
<input>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</input>
<output>
<wsdlsoap:body use="literal" namespace="http://surf.nl/kva5/berichten"/>
</output>
</operation>
</binding>
<service name='kva50Service'>
<port binding='tns:kva50Binding' name='kva50Port'>
<http:address location='http://localhost:8080/MoKva'/>
</port>
</service>
</definitions>
Camel routing
<?xml version="1.0" encoding="ASCII"?>
<route xmlns="http://camel.apache.org/schema/spring">
<from uri="switchyard://Kva50In"/>
<log message="kva50 - message received: ${body}"/>
</route>
Switchyard
<?xml version="1.0" encoding="UTF-8"?>
<switchyard xmlns="urn:switchyard-config:switchyard:1.0" xmlns:bean="urn:switchyard-component-bean:config:1.0" xmlns:camel="urn:switchyard-component-camel:config:1.0" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:soap="urn:switchyard-component-soap:config:1.0" name="ZaakSysteem" targetNamespace="urn:nl.surf.zaak:ZaakSysteem:1.0">
<sca:composite name="ZaakSysteem" targetNamespace="urn:nl.surf.zaak:ZaakSysteem:1.0">
<sca:service name="Kva50In" promote="KvaRouting/kva50">
<sca:interface.wsdl interface="META-INF/Kva50Binding.wsdl#wsdl.porttype(kva50)"/>
<soap:binding.soap>
<soap:contextMapper/>
<soap:messageComposer unwrapped="true"/>
<soap:wsdl>META-INF/Kva50Binding.wsdl</soap:wsdl>
<soap:wsdlPort>kva50Port</soap:wsdlPort>
<soap:socketAddr>8080</soap:socketAddr>
<soap:contextPath>MoKva</soap:contextPath>
<soap:endpointAddress>http://localhost:8080/MoKva</soap:endpointAddress>
</soap:binding.soap>
</sca:service>
<sca:reference name="Kva50Out" multiplicity="0..1" promote="KvaRouting/kva50">
<sca:interface.wsdl interface="META-INF/Kva50Binding.wsdl#wsdl.porttype(kva50)"/>
<soap:binding.soap>
<soap:contextMapper/>
<soap:messageComposer/>
<soap:wsdl>META-INF/Kva50Binding.wsdl</soap:wsdl>
<soap:wsdlPort>kva50Port</soap:wsdlPort>
<soap:endpointAddress>http://10.0.12.26:8080/studielink-broker/SL5</soap:endpointAddress>
</soap:binding.soap>
</sca:reference>
<sca:component name="KvaRouting">
<camel:implementation.camel>
<camel:xml path="META-INF/kva50Route.xml"/>
</camel:implementation.camel>
<sca:reference name="kva50">
<sca:interface.wsdl interface="META-INF/Kva50Binding.wsdl#wsdl.porttype(kva50)"/>
</sca:reference>
<sca:service name="kva50">
<sca:interface.wsdl interface="META-INF/Kva50Binding.wsdl#wsdl.porttype(kva50)"/>
</sca:service>
</sca:component>
</sca:composite>
<domain>
<handlers>
<handler class="org.switchyard.handlers.MessageTrace" name="MessageTrace"/>
</handlers>
</domain>
</switchyard>
Regards
Jan