-
Feature Request
-
Resolution: Done
-
Major
-
jbossws-2.0.1
-
None
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:
address
01:14:56,372 WARN [WSDL11Reader] Unsupported binding:
binding
01:14:56,372 WARN [WSDL11Reader] Unsupported binding:
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:
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)
}
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>
- is related to
-
JBAS-4807 Cannot redeploy webapp after deploy failure
- Closed