[
https://issues.apache.org/jira/browse/ODE-201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Richard Taylor updated ODE-201:
-------------------------------
Affects Version/s: (was: 1.1.1)
(was: 1.2)
> Support for executing SOAP 1.2 services
> ---------------------------------------
>
> Key: ODE-201
> URL: https://issues.apache.org/jira/browse/ODE-201
> Project: ODE
> Issue Type: Improvement
> Components: Axis2 Integration
> Affects Versions: 1.1
> Environment: Axis2 Distro
> Jetty 1.6.1.1
> JDK 1.5.0_11
> WinXP64
> Reporter: Richard Taylor
> Priority: Minor
> Fix For: 1.1.1, 1.2
>
>
> I can't seem to invoke a SOAP 1.2 service from a process in Ode. It's a
> silly little "hello world" service written in .net (for playing with
> interop). Ode seems to fail to find the proper binding for my service/port
> upon deployment
> I believe the issue is in SoapMessageConverter. In the following line:
> Collection<SOAPBinding> soapBindings =
> CollectionsX.filter(_binding.getExtensibilityElements(), SOAPBinding.class);
> The call to _binding.getExtensibilityElements() will return
> SOAP12Binding.class for SOAP 1.2 bindings, not SOAPBinding.class, so they get
> filtered out and aren't found. You would think SOAPBinding.class and
> SOAP12Binding.class would derive from a common base class, but looking at
> WSDL4J it doesn't appear that is the case.
> During deployment I get the following error:
> ERROR [ODEServer]: Could not create external service.
> org.apache.ode.axis2.OdeFault: No SOAP binding for port: ServiceSoap12.
> at org.apache.ode.axis2.util.SoapMessageConverter
> .<init>(SoapMessageConv
> erter.java:127)
> at
> org.apache.ode.axis2.ExternalService.<init>(ExternalService.java:89)
> at
> org.apache.ode.axis2.ODEServer.createExternalService(ODEServer.java:3
> 30)
> at
> org.apache.ode.axis2.BindingContextImpl.createPartnerRoleChannel(Bind
> ingContextImpl.java:81)
> at
> org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelP
> rocess.java:711)
> at
> org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$1(BpelPr
> ocess.java:681)
> at
> org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProce
> ss.java:666)
> at org.apache.ode.bpel.engine.NStateLatch.latch (NStateLatch.java:89)
> at
> org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:547)
> at
> org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.jav
> a:277)
> at org.apache.ode.axis2.ODEServer.handleEvent (ODEServer.java:538)
> at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:72)
> at
> org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStor
> eEvent(ODEServer.java:524)
> at
> org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java
> :501)
> at
> org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImp
> l.java:507)
> at org.apache.ode.store.ProcessStoreImpl.deploy
> (ProcessStoreImpl.java:28
> Here is the WSDL for the service I'm trying to call:
> <?xml version="1.0" encoding="utf-8"?>
> <wsdl:definitions xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="
> http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
> xmlns:tns="http://tempuri.org/ " xmlns:s="http://www.w3.org/2001/XMLSchema"
> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/ "
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
> targetNamespace="http://tempuri.org/" xmlns:wsdl="
> http://schemas.xmlsoap.org/wsdl/">
> <wsdl:types>
> <s:schema elementFormDefault="qualified"
> targetNamespace="http://tempuri.org/">
> <s:element name="HelloWorld">
> <s:complexType>
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="1" name="name"
> type="s:string" />
> </s:sequence>
> </s:complexType>
> </s:element>
> <s:element name="HelloWorldResponse">
> <s:complexType>
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult"
> type="s:string" />
> </s:sequence>
> </s:complexType>
> </s:element>
> </s:schema>
> </wsdl:types>
> <wsdl:message name="HelloWorldSoap12In">
> <wsdl:part name="parameters" element="tns:HelloWorld" />
> </wsdl:message>
> <wsdl:message name="HelloWorldSoap12Out">
> <wsdl:part name="parameters" element="tns:HelloWorldResponse" />
> </wsdl:message>
> <wsdl:portType name="ServiceSoap12">
> <wsdl:operation name="HelloWorld">
> <wsdl:input message="tns:HelloWorldSoap12In" />
> <wsdl:output message="tns:HelloWorldSoap12Out" />
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap12">
> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http " />
> <wsdl:operation name="HelloWorld">
> <soap12:operation soapAction="http://tempuri.org/HelloWorld"
> style="document" />
> <wsdl:input>
> <soap12:body use="literal" />
> </wsdl:input>
> <wsdl:output>
> <soap12:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="Service">
> <wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">
> <soap12:address location=" http://localhost:2643/WebSite1/Service.asmx"
> />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.