[JBoss JIRA] Created: (JBWS-2192) Asynchronous calls not thread safe
by Thomas Diesler (JIRA)
Asynchronous calls not thread safe
----------------------------------
Key: JBWS-2192
URL: http://jira.jboss.com/jira/browse/JBWS-2192
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native
Reporter: Thomas Diesler
Fix For: jbossws-native-3.0.3
Darran sais:
I am currently looking at a support case where the customer is getting a number of errors with asynchronous JAX-WS invocations using a AsyncHandler.
I am running a couple of test cases against the two EAP releases and I am able to reproduce the behaviour that the customer is seeing but I just quickly wanted to double check what should be thread safe.
I have an async method on the SEI that returns a Future instance and takes an AsyncHandler as a parameter: -
@WebMethod(operationName = "lookup")
public Future<?> lookupAsync(final Person person,
AsyncHandler<TelephoneNumber> handler);
This pattern seems to suggest that after the call has been made any further interaction will be with the Future instance or the handler which then makes it look as though the Port is free to service other requests.
However if I submit multiple requests using the same Port then the outgoing requests start to get mixed up.
Should it be possible to re-use the same Port / SEI Proxy for multiple calls without worries of messages being mixed up?
I would have thought if the Port was not supposed to be re-used the get methods for the response would be on the Port instance and not need to use this returned interface.
I have attached the client I am using to reproduce the errors.
Creating a new Port for each request does overcome this issue but they are trying to avoid this especially as the existing Port should have passed the last request off to another thread for 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
13 years, 4 months
[JBoss JIRA] Created: (JBWS-2131) WebServiceException: Failed to build METRO runtime model
by Thomas Diesler (JIRA)
WebServiceException: Failed to build METRO runtime model
--------------------------------------------------------
Key: JBWS-2131
URL: http://jira.jboss.com/jira/browse/JBWS-2131
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-metro
Affects Versions: jbossws-metro-1.0.1
Reporter: Thomas Diesler
[tdiesler@tdvaio trunk]$ ant -Dtest=jaxws/jbws1702 test
19:24:24,883 ERROR [MainDeployer] Could not start deployment: file:/home/tdiesler/svn/jbossws/stack/metro/trunk/output/tests/libs/jaxws-jbws1702.war
javax.xml.ws.WebServiceException: Failed to build METRO runtime model
at org.jboss.wsf.stack.metro.metadata.RuntimeModelDeploymentAspect.create(RuntimeModelDeploymentAspect.java:136)
at org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl.deploy(DeploymentAspectManagerImpl.java:118)
at org.jboss.wsf.container.jboss42.ArchiveDeployerHook.deploy(ArchiveDeployerHook.java:97)
at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:90)
at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
--
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
13 years, 7 months
[JBoss JIRA] Created: (JBWS-1671) SunRI client handler cannot set mime header
by Thomas Diesler (JIRA)
SunRI client handler cannot set mime header
-------------------------------------------
Key: JBWS-1671
URL: http://jira.jboss.com/jira/browse/JBWS-1671
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: integration-sunri
Reporter: Thomas Diesler
Fix For: jbossws-2.1.0
[tdiesler@tddell sunri]$ ant -Dtest=jaxws/samples/handlerchain test
tests-run-internal:
[junit] Running org.jboss.test.ws.jaxws.samples.handlerchain.HandlerChainTestCase
[junit] Tests run: 2, Failures: 1, Errors: 0, Time elapsed: 4.162 sec
[junit] Test org.jboss.test.ws.jaxws.samples.handlerchain.HandlerChainTestCase FAILED
Caused by: java.lang.IllegalStateException: Unexpected cookie list: null
at org.jboss.test.ws.jaxws.samples.handlerchain.ClientMimeHandler.handleInbound(ClientMimeHandler.java:64)
at org.jboss.wsf.spi.handler.GenericHandler.handleMessage(GenericHandler.java:55)
at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessageReverse(HandlerProcessor.java:313)
at com.sun.xml.ws.handler.HandlerProcessor.callHandlersResponse(HandlerProcessor.java:195)
at com.sun.xml.ws.handler.ClientSOAPHandlerTube.callHandlersOnResponse(ClientSOAPHandlerTube.java:181)
--
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
13 years, 7 months
[JBoss JIRA] Created: (JBWS-1716) Erroneous UTF-8 character encoding when marshalling on machines with non-UTF-8 default encoding
by floe fliep (JIRA)
Erroneous UTF-8 character encoding when marshalling on machines with non-UTF-8 default encoding
-----------------------------------------------------------------------------------------------
Key: JBWS-1716
URL: http://jira.jboss.com/jira/browse/JBWS-1716
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: jbossws-1.2.1
Reporter: floe fliep
When sending a client request which includes a non-ASCII UTF-8 character such as the "ç" in "Français" on a machine which has the default character encoding set to something different than UTF-8, the encoding is erroneous. For example, the "ç" in the example above is marshalled on the network stream as 0xC3 0x83 0xC2 0xA7 instead of the legal UTF-8 sequence being 0xC3 0xA7, when the machine's default character set is set to MS1252 in this case (Windows).
A fix for this is setting the system property file.encoding=utf-8, but this causes as many problems elsewhere as it fixes (especially in the case of legacy platform-specific file reading) ... .
A forum post is highly likely to expose the same phenomenon: http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4030510#4030510
After some good hours of stepping through the JBossWS code, I discovered what I guess must be the culprit in the method XMLFragment.writeSourceInternal(Writer writer):
....
if (reader == null)
reader = new InputStreamReader(streamSource.getInputStream());
Here streamSource.getInputStream() is an already UTF-8 encoded stream. However, when a new instance of InputStreamReader is created around it, it will be set to the machine's default character encoding, thus effectively interpreting bytes from the UTF-8 stream in a different encoding scheme, resulting in corrupted data.
Each time data passes through the marschalling corruption is added, effectively worsening wrong character count when data is passed back and forth.
I would suggest attaching a reader to the StreamSource source instance var so that it keeps track of its encoding, but that might break things elsewhere ...
--
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
13 years, 9 months