[jbossws-issues] [JBoss JIRA] Updated: (JBWS-1807) Support http://schemas.xmlsoap.org/wsdl/http bindings in WSDL for the Provider interface
Thomas Diesler (JIRA)
jira-events at lists.jboss.org
Tue Sep 18 06:31:55 EDT 2007
[ http://jira.jboss.com/jira/browse/JBWS-1807?page=all ]
Thomas Diesler updated JBWS-1807:
---------------------------------
Fix Version/s: jbossws-2.0.2
> Support http://schemas.xmlsoap.org/wsdl/http bindings in WSDL for the Provider interface
> ----------------------------------------------------------------------------------------
>
> Key: JBWS-1807
> URL: http://jira.jboss.com/jira/browse/JBWS-1807
> Project: JBoss Web Services
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: jbossws-jaxws
> Affects Versions: jbossws-2.0.1
> Environment: JBoss 4.0.5 on Windows XP
> Reporter: Jonah Beckford
> Fix For: jbossws-2.0.2
>
>
> When using the XML/HTTP binding with the Provider interface, you get warnings about "Unsupported binding", and subsequent errors. Because the WSDL11Reader (?) does not support XML/HTTP, you can only get limited XML/HTTP support by using annotations. In particular, there does not seem to be a way to accept HTTP GET requests.
> The Provider interface does work, as long as a <soap:binding/> is used in the WSDL. The logs are:
> 01:14:56,029 INFO [TomcatDeployer] deploy, ctxPath=/jaxws, warUrl=.../tmp/deploy/tmp8703jaxws-exp.war/
> 01:14:56,372 WARN [WSDL11Reader] Unprocessed extension element: {http://schemas.xmlsoap.org/wsdl/http/}address
> 01:14:56,372 WARN [WSDL11Reader] Unsupported binding: {http://schemas.xmlsoap.org/wsdl/http/}binding
> 01:14:56,372 WARN [WSDL11Reader] Unsupported binding: {http://schemas.xmlsoap.org/wsdl/http/}binding
> 01:14:56,372 ERROR [MainDeployer] Could not start deployment: file:/C:/services/jboss-4.0.5.GA/server/default/deploy/jaxws.war
> org.jboss.ws.WSException: Cannot find port in wsdl: {http://ws.com/}ProviderPort
> at org.jboss.ws.metadata.builder.MetaDataBuilder.replaceAddressLocation(MetaDataBuilder.java:338)
> at org.jboss.ws.metadata.builder.jaxws.JAXWSProviderMetaDataBuilder.buildProviderMetaData(JAXWSProviderMetaDataBuilder.java:147)
> at org.jboss.ws.metadata.builder.jaxws.JAXWSServerMetaDataBuilder.setupProviderOrWebService(JAXWSServerMetaDataBuilder.java:55)
> at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE.buildMetaData(JAXWSMetaDataBuilderJSE.java:63)
> at org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect.create(UnifiedMetaDataDeploymentAspect.java:66)
> at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:115)
> at org.jboss.wsf.container.jboss40.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:97)
> at org.jboss.wsf.container.jboss40.DeployerInterceptor.start(DeployerInterceptor.java:90)
> at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
> at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy49.start(Unknown Source)
> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
> at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> at $Proxy8.deploy(Unknown Source)
> at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
> at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> The provider bean is:
> @WebServiceProvider(wsdlLocation = "WEB-INF/wsdl/provider2.wsdl", portName = "ProviderPort", serviceName = "Provider", targetNamespace = "http://ws.com/")
> @ServiceMode(value = Service.Mode.PAYLOAD)
> @BindingType(value=HTTPBinding.HTTP_BINDING)
> public class Bean2 implements Provider<Source> {
> public Source invoke(Source source) {
> String body = "<reply><descr>I am replying with your input!</descr></reply>";
> Source dest = new StreamSource(
> new ByteArrayInputStream(body.getBytes()));
> return dest;
> }
> }
> The WSDL is:
> <?xml version='1.0'?>
> <definitions name='ProviderService'
> xmlns='http://schemas.xmlsoap.org/wsdl/'
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
> xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
> xmlns:tns='http://ws.com/'
> targetNamespace='http://ws.com/'
> xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
> <message name='m1'>
> <part name='part1' type='xsd:binary' />
> </message>
> <message name='m2'>
> <part name='response' type='xsd:binary' />
> </message>
> <portType name="pt1">
> <operation name="o1">
> <input message="tns:m1" />
> <output message="tns:m2" />
> </operation>
> </portType>
> <portType name='pt2'>
> <operation name='o1'>
> <input message='tns:echo' />
> <output message='tns:echoResponse' />
> </operation>
> </portType>
> <binding name="b1" type="tns:pt2">
> <!-- The soap:binding seems to be needed by org.jboss.ws.metadata.builder.MetaDataBuilder.replaceAddressLocation.
> -->
> <!--
> <soap:binding style='document'
> transport='http://schemas.xmlsoap.org/soap/http' />
> -->
> <http:binding verb="GET" />
> <operation name="o1">
> <http:operation location="o1" />
> <input>
> <http:urlEncoded />
> </input>
> <output>
> <mime:content type="text/xml" />
> </output>
> </operation>
> </binding>
> <binding name='b2' type='tns:pt2'>
> <soap:binding style='document'
> transport='http://schemas.xmlsoap.org/soap/http' />
> <operation name='o1'>
> <soap:operation soapAction='' />
> <input>
> <soap:body use='literal' />
> </input>
> <output>
> <soap:body use='literal' />
> </output>
> </operation>
> </binding>
> <service name="ProviderService">
> <port name="ProviderPort" binding="tns:b1">
> <http:address location="http://example.com/" />
> </port>
> </service>
> </definitions>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbossws-issues
mailing list