[ https://issues.apache.org/jira/browse/DOSGI-209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schneider resolved DOSGI-209. --------------------------------------- Resolution: Fixed > when bundles registers two WS with different SoapBinding Style Document/RPC > then one of the STYLE is not as expected > -------------------------------------------------------------------------------------------------------------------- > > Key: DOSGI-209 > URL: https://issues.apache.org/jira/browse/DOSGI-209 > Project: CXF Distributed OSGi > Issue Type: Bug > Components: DSW > Affects Versions: 1.4.0, 1.5.0 > Environment: Java 1.7, DOSGI-1.5.0, Jetty 8.1.13, win32 > Reporter: Ranjeeth > Assignee: Christian Schneider > Fix For: 2.0.0 > > Attachments: IntentManagerImpl.java.patch > > > After migrating from 1.3.1 to 1.5.0, i see strange behavior with the > SOAPBINDING Style [DOCUMENT/RPC], > Sample Interface: > {code:title=Interface |borderStyle=solid} > @WebService(name="iDocumentStyleBindingServiceType", > portName="iDocumentStyleBindingServicePort", > serviceName="IDocumentStyleBindingServiceService", > targetNamespace=IDocumentStyleBindingService.TNS) > @SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL) > public interface IDocumentStyleBindingService { > public static final String TNS = > "http://www.temp.uri/temp/iDocumentStyleBindingServiceService"; > > @WebResult(name = "IDocumentStyleBindingServiceResult", > targetNamespace = IDocumentStyleBindingService.TNS, partName = > "IDocumentStyleBindingServiceResult") > @Action(input = > "http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingService", > output = > "http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingServiceResponse") > @WebMethod(operationName = "GetLetterFormURIs", action = > "http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingService") > public String IDocumentStyleBindingService(); > } > {code} > {code:xml} > <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" > enabled="true" immediate="true" > name="com.temp.uri.documentstylebindingservice"> > <implementation class="com.temp.uri.DocumentStyleBindingService"/> > <service> > <provide interface="com.temp.uri.IDocumentStyleBindingService"/> > </service> > <property name="service.exported.interfaces" type="String" > value="com.temp.uri.IDocumentStyleBindingService"/> > <property name="service.exported.configs" type="String" > value="org.apache.cxf.ws"/> > <property name="org.apache.cxf.ws.frontend" type="String" value="jaxws" /> > <property name="org.apache.cxf.ws.databinding" type="String" value="jaxb" > /> > <property name="org.apache.cxf.ws.httpservice.context" type="String" > value="/iDocumentStyleBindingService"/> > <property name="org.apache.cxf.ws.address" type="String" value=""/> > </scr:component> > {code} > Generated WSDL with SOAP Binding style - RPC, should have been document. > {code:xml} > <wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" > xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" > xmlns:tns="http://www.temp.uri/temp/iDocumentStyleBindingServiceService" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:ns1="http://schemas.xmlsoap.org/soap/http" > name="IDocumentStyleBindingServiceService" > targetNamespace="http://www.temp.uri/temp/iDocumentStyleBindingServiceService"> > <wsdl:types> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:tns="http://www.temp.uri/temp/iDocumentStyleBindingServiceService" > elementFormDefault="unqualified" > targetNamespace="http://www.temp.uri/temp/iDocumentStyleBindingServiceService" > version="1.0"> > <xs:element name="GetLetterFormURIs" type="tns:GetLetterFormURIs"/> > <xs:element name="GetLetterFormURIsResponse" > type="tns:GetLetterFormURIsResponse"/> > <xs:complexType name="GetLetterFormURIs"> > <xs:sequence/> > </xs:complexType> > <xs:complexType name="GetLetterFormURIsResponse"> > <xs:sequence> > <xs:element form="qualified" minOccurs="0" > name="IDocumentStyleBindingServiceResult" type="xs:string"/> > </xs:sequence> > </xs:complexType> > </xs:schema> > </wsdl:types> > <wsdl:message name="GetLetterFormURIsResponse"> > <wsdl:part element="tns:GetLetterFormURIsResponse" > name="parameters"></wsdl:part> > </wsdl:message> > <wsdl:message name="GetLetterFormURIs"> > <wsdl:part element="tns:GetLetterFormURIs" name="parameters"></wsdl:part> > </wsdl:message> > <wsdl:portType name="iDocumentStyleBindingServiceType"> > <wsdl:operation name="GetLetterFormURIs"> > <wsdl:input message="tns:GetLetterFormURIs" name="GetLetterFormURIs" > wsam:Action="http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingService" > > wsaw:Action="http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingService"></wsdl:input> > <wsdl:output message="tns:GetLetterFormURIsResponse" > name="GetLetterFormURIsResponse" > wsam:Action="http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingServiceResponse" > > wsaw:Action="http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingServiceResponse"></wsdl:output> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="IDocumentStyleBindingServiceServiceSoapBinding" > type="tns:iDocumentStyleBindingServiceType"> > <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="GetLetterFormURIs"> > <soap:operation > soapAction="http://www.temp.uri/temp/iDocumentStyleBindingServiceService/IDocumentStyleBindingService" > style="rpc"/> > <wsdl:input name="GetLetterFormURIs"> > <soap:body > namespace="http://www.temp.uri/temp/iDocumentStyleBindingServiceService" > use="literal"/> > </wsdl:input> > <wsdl:output name="GetLetterFormURIsResponse"> > <soap:body > namespace="http://www.temp.uri/temp/iDocumentStyleBindingServiceService" > use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="IDocumentStyleBindingServiceService"> > <wsdl:port binding="tns:IDocumentStyleBindingServiceServiceSoapBinding" > name="iDocumentStyleBindingServicePort"> > <soap:address location="http://localhost:15220/iDocumentStyleBindingService"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > {code} > Accessing the service results in following exception > {noformat} > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 > at java.util.ArrayList.rangeCheck(ArrayList.java:604) > at java.util.ArrayList.get(ArrayList.java:382) > at > org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor.handleMessage(WrapperClassInInterceptor.java:110) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:198) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:163) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:370) > at > org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) > at > org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) > at > org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) > at > org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:722) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)