[JBoss JIRA] Created: (JBWS-1807) Support http://schemas.xmlsoap.org/wsdl/http bindings in WSDL for the Provider interface
by Jonah Beckford (JIRA)
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
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
17 years, 2 months
[JBoss JIRA] Created: (JBWS-1811) JAXWS client implementation failing to read/publish CLIENT_ADDRESSING_PROPERTIES inside client invocation
by Andrew Dinn (JIRA)
JAXWS client implementation failing to read/publish CLIENT_ADDRESSING_PROPERTIES inside client invocation
---------------------------------------------------------------------------------------------------------
Key: JBWS-1811
URL: http://jira.jboss.com/jira/browse/JBWS-1811
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-jaxws
Affects Versions: jbossws-2.1.0
Reporter: Andrew Dinn
Priority: Minor
According to the WS spec (5.0 Addressing Context) a JAXWS client is supposed to be able to specify AddressingProperties for a web method invocation by setting the CLIENT_ADDRESSING_PROPERTIES property of the request context obtained from the port (BindingProvider). After the invocation the same property on the response context should be populated with the response AddressingProperties.
The WS code is only detecting WSAddressingProperties if they are installed in the request context with key CLIENT_ADDRESSING_PROPERTIES_OUTBOUND and is only publishing WSAddressingProperties in the response context with key CLIENT_ADDRESSING_PROPERTIES_INBOUND. Although these are the valid keys for use in client side handlers they are incorrect for use in the client. These values need to be copied from/to the CLIENT_ADDRESSING_PROPERTIES value when inside the client call before/after handler processing.
--
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
17 years, 2 months
[JBoss JIRA] Created: (JBWS-1795) Type Substitution doesn't work with Schema2Java Client approach
by Markus Schumpa (JIRA)
Type Substitution doesn't work with Schema2Java Client approach
---------------------------------------------------------------
Key: JBWS-1795
URL: http://jira.jboss.com/jira/browse/JBWS-1795
Project: JBoss Web Services
Issue Type: CTS Challenge
Security Level: Public (Everyone can see)
Components: jbossws-jaxrpc, jbossws-jaxws, tools-jaxrpc, tools-jaxws
Affects Versions: jbossws-2.0.1, jbossws-2.0.0
Environment: WindowsXP, JDK5U11, JBoss4.2.1
Reporter: Markus Schumpa
I have written a web service with a parameter and a return value.
the method is like:
ListLocation calculate (ListLocation){...}
The parameter is something like:
class ListLocation {
private List<LocationImpl> list;
}
class LocationImpl{...}
class Cabin extends LocationImpl{...}
class TechCabin extends LocationImpl{...}
so I added the @XmlSeeAlso ({Cabin.class, TechCabin.class}) annotation to the LocationImpl class.
I can now deploy the web service and the wsdl gets generated in a proper way.
The first thing I did to test the service was writting a simple client which creates a Cabin and a TechCabin instance and adds these two instances to the ListLoaction list and passes it to the web service. For this I used the classes I coded.
With this setup everything worked fine and the service was able to cast the list members to the proper type. So the type substitution worked well.
But I need the test the Schema2Java approach, too.
So I consumed the WSDL with wsconsume and the -t 2.1 switch.
(wsconsume -k -p com.titan.domain.generated -w http://127.0.0.1:8080/OR19.1TC/TravelAgentBean?wsdl -s d:\TC\source1\ -o d:\TC\output1\ -t 2.1 http://127.0.0.1:8080/OR19.1TC/TravelAgentBean?wsdl)
I addopted the client to use the generated classes. But here the type substitution doesn't work. The list only contains LocationImpl instances.
--
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
17 years, 2 months
[JBoss JIRA] Created: (JBWS-1817) Investigate wsse with jaxws dispatch
by Thomas Diesler (JIRA)
Investigate wsse with jaxws dispatch
------------------------------------
Key: JBWS-1817
URL: http://jira.jboss.com/jira/browse/JBWS-1817
Project: JBoss Web Services
Issue Type: Task
Security Level: Public (Everyone can see)
Reporter: Thomas Diesler
Fix For: jbossws-2.0.2
I'm having a bit of trouble figuring this out - I'm trying to create a simple standalone dispatch for communication with an already set up webservice. I got everything working as expected if I use no security system - the problem arises when trying to invoke a request message involving an WSSecurityHandlerClient, resulting in a:
Code:
javax.xml.ws.soap.SOAPFaultException: org.jboss.ws.core.CommonSOAPFaultException: This service requi
res <wsse:Security>, which is missing.
at org.jboss.ws.core.jaxws.client.DispatchSOAPBinding.getReturnObject(DispatchSOAPBinding.java:165)
at org.jboss.ws.core.jaxws.client.DispatchImpl.getReturnObject(DispatchImpl.java:290)
at org.jboss.ws.core.jaxws.client.DispatchImpl.invokeInternal(DispatchImpl.java:141)
at org.jboss.ws.core.jaxws.client.DispatchImpl.invoke(DispatchImpl.java:102)
--
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
17 years, 3 months