[ https://issues.apache.org/jira/browse/DOSGI-209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15490348#comment-15490348 ]
Christian Schneider commented on DOSGI-209: ------------------------------------------- I just checked the current code. This issue is still valid. We are too short before the 2.0.0 release to fix this. I will look into it for the next release. Btw. the issues here are not actively tracked. If you have problems please also report them on the mailing list to get some attention. > 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 > Fix For: 2.1.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)