[JBoss JIRA] Created: (JBWS-2311) WSA does not work for provider based endpoint
by Jim Ma (JIRA)
WSA does not work for provider based endpoint
---------------------------------------------
Key: JBWS-2311
URL: https://jira.jboss.org/jira/browse/JBWS-2311
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native, ws-addressing
Affects Versions: jbossws-native-3.0.1
Reporter: Jim Ma
When add the WSAddressingServerHandler for provider based endpoint , it raises the following error :
ERROR [org.jboss.ws.core.jaxws.handler.HandlerChainExecutor] Exception during handler processing
javax.xml.ws.addressing.AddressingException: Required addressing property missing: {http://www.w3.org/2005/08/addressing}Action
at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.appendRequiredHeader(SOAPAddressingPropertiesImpl.java:304)
at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.writeHeaders(SOAPAddressingPropertiesImpl.java:257)
at org.jboss.ws.extensions.addressing.jaxws.WSAddressingServerHandler.handleResponseOrFault(WSAddressingServerHandler.java:156)
at org.jboss.ws.extensions.addressing.jaxws.WSAddressingServerHandler.handleOutbound(WSAddressingServerHandler.java:92)
at org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callResponseHandlerChain
JAXWSProviderMetaDataBuilder does not process the WSA information add generate AddressingOpMetaExt. This will cause the required outbound action in SoapAddressingProperties not set , see the following WSAddressingServerHandler code segment :
OperationMetaData opMetaData = ((SOAPMessageContextJAXRPC)msgContext).getOperationMetaData();
if (!isFault && !opMetaData.isOneWay())
{
AddressingOpMetaExt addrExt = (AddressingOpMetaExt)opMetaData.getExtension(ADDR_CONSTANTS.getNamespaceURI());
if (addrExt != null)
{
outProps.setAction(ADDR_BUILDER.newURI(addrExt.getOutboundAction()));
}
else
{
log.warn("Unable to resolve replyAction for " + opMetaData.getQName());
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] Created: (JBWS-2406) Make OneWay Operations Non-Blocking
by Darran Lofthouse (JIRA)
Make OneWay Operations Non-Blocking
-----------------------------------
Key: JBWS-2406
URL: https://jira.jboss.org/jira/browse/JBWS-2406
Project: JBoss Web Services
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.4
Reporter: Darran Lofthouse
Currently the @OneWay operations block while the business logic executes on the server and does not return a response until processing is complete.
This feature request is to modify one-way operations to be non-blocking.
There are various options to be investigated: -
- As soon as server knows it is a valid message send HTTP response but thread continue to process.
- Fork a new thread server side to call business method.
- Fork thread client side for the call.
(This is not an exhaustive list just some of the current suggestions)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] Created: (JBWS-2277) When publishing WS using an existing WSDL file from wsdlLocation, file:// <soap:address> bindings are not converted to http://
by Alexandros Karypidis (JIRA)
When publishing WS using an existing WSDL file from wsdlLocation, file:// <soap:address> bindings are not converted to http://
------------------------------------------------------------------------------------------------------------------------------
Key: JBWS-2277
URL: https://jira.jboss.org/jira/browse/JBWS-2277
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: jbossws-native-3.0.2
Environment: I am using Sun's JDK 1.5.0_15, JBoss 4.2.3 with JBossWS-Native-3.0.2 on a x86-32 Intel PC with Windows XP.
Reporter: Alexandros Karypidis
Priority: Trivial
Attachments: fileURLBindingBug.zip
When using "wsdLocation" in @WebService, JBoss reads the WSDL file you provided and does the following:
1) if the <soap:address> tag in the WSDL file has a "file://..." URL in it,
it does NOT replace it with the actual address where your web service
endpoint was bound.
2) if the <soap:address> tag in the WSDL file has an "http://..." URL in it,
it replaces it with the actual address where your web service
endpoint was bound.
The WSDL published by JBoss should use http/https as appropriate.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] Created: (JBWS-2254) SchemaValidation exception when referencing independent schema in wsdl
by Bob Bucy (JIRA)
SchemaValidation exception when referencing independent schema in wsdl
----------------------------------------------------------------------
Key: JBWS-2254
URL: http://jira.jboss.com/jira/browse/JBWS-2254
Project: JBoss Web Services
Issue Type: Quality Risk
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.1
Environment: JBoss Server: JBoss_4_2_2_GA with jbossws-3.0.1-native-2.0.4.GA and JBoss Messaging 1.4.0.SP3 replacing JBossMQ.
OS/JVM: Sun JVM build 1.5.0_15-b04, Windows XP Service Pack 2
Reporter: Bob Bucy
The following exception takes place on the server when executing webservice with "@SchemaValidation" annotation. Exception does not occur when "@SchemaValidation" is disabled (e.g. able to execute service successfully, client able to run wsconsume, able to access ?WSDL, etc.). A sample application is attached which demonstrates the issue. The webservice being executed (e.g. WSTest.wsdl) does reference another schema (e.g. WSTest.xsd) that defines the input and output arguments to the webservice. Both the WSTest.wsdl and WSTest.xsd schemas are located in the WEB-INF\wsdl directory.
2008-07-10 13:36:26,224 WARN [org.jboss.ws.extensions.validation.StrictlyValidErrorHandler] org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'WSTest.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
2008-07-10 13:36:26,224 ERROR [org.jboss.ws.extensions.validation.StrictlyValidErrorHandler] org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'wsdoc:WSReq' to a(n) 'element declaration' component.
2008-07-10 13:36:26,224 DEBUG [org.jboss.ws.core.jaxws.handler.MessageContextJAXWS] Begin response processing
2008-07-10 13:36:26,224 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation] popMessageContext: org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS@de4588 (Thread http-127.0.0.1-8080-2)
2008-07-10 13:36:26,224 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation] pushMessageContext: org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS@15d7792 (Thread http-127.0.0.1-8080-2)
2008-07-10 13:36:26,240 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP request exception
org.jboss.ws.WSException: org.xml.sax.SAXException: src-resolve: Cannot resolve the name 'wsdoc:WSReq' to a(n) 'element declaration' component.
at org.jboss.ws.WSException.rethrow(WSException.java:68)
at org.jboss.ws.core.soap.SOAPBodyElementDoc.validatePayload(SOAPBodyElementDoc.java:130)
at org.jboss.ws.core.soap.SOAPBodyElementDoc.transitionTo(SOAPBodyElementDoc.java:82)
at org.jboss.ws.core.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:173)
at org.jboss.ws.core.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:263)
at org.jboss.ws.core.EndpointInvocation.getRequestParamValue(EndpointInvocation.java:115)
at org.jboss.ws.core.EndpointInvocation.getRequestPayload(EndpointInvocation.java:135)
--
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
12 years, 10 months
[JBoss JIRA] Created: (JBWS-2157) Child nodes truncated when using jaxb to marshall data into a SOAP header
by Andrew Dinn (JIRA)
Child nodes truncated when using jaxb to marshall data into a SOAP header
--------------------------------------------------------------------------
Key: JBWS-2157
URL: http://jira.jboss.com/jira/browse/JBWS-2157
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.1
Reporter: Andrew Dinn
I wish to serialise a CoordinationContext type (a complex type defined in the OASIS WS-COOR 1.1 spec) into a SOAP message header as follows:
<code>
final JAXBContext jaxbCtx = getJaxbContext();
final SOAPMessage soapMessage = context.getMessage();
final SOAPEnvelope soapEnvelope = soapMessage.getSOAPPart().getEnvelope();
SOAPHeader soapHeader = soapEnvelope.getHeader() ;
if (soapHeader == null)
{
soapHeader = soapEnvelope.addHeader() ;
}
Marshaller marshaller = jaxbCtx.createMarshaller();
marshaller.marshal(coordinationContext, soapHeader);
</code>
The problem is that the header gets inserted without any children.
What happens is that the marshaller creates a SOAP tree top down consisting of SOAPElementImpl instances. It inserts these nodes into the tree below the SOAPHeader as it creates them. So, when the first node is created a call to SOAPHeader.addchild() is made. This call deteccts that the supplied node is of the wrong type so it substitutes a SOAPHeaderElementImpl. It attempts to copy the supplied node's substructure but the marshaller has not created the children at this point.
--
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
[JBoss JIRA] Created: (JBWS-2338) Review our SPI abstractsions and interfaces
by Richard Opalka (JIRA)
Review our SPI abstractsions and interfaces
-------------------------------------------
Key: JBWS-2338
URL: https://jira.jboss.org/jira/browse/JBWS-2338
Project: JBoss Web Services
Issue Type: Sub-task
Security Level: Public (Everyone can see)
Components: jbossws-cxf, jbossws-metro, jbossws-native
Affects Versions: jbossws-native-3.0.4, jbossws-metro-3.0.4, jbossws-cxf-3.0.4
Reporter: Richard Opalka
Assignee: Richard Opalka
Fix For: jbossws-native-3.0.5, jbossws-metro-3.0.5, jbossws-cxf-3.0.5
Terminology:
DA = Deployment Aspect
Issues:
* WSFRuntime isn't good abstraction and should be removed from our SPI because it doesn't integrate with JBossAS deployers architecture very well
(it's issue is it depends on web container runtime which can be unavailable at AS start time (e.g. there can be multiple webservice archives in deploy directory that are started before web container is available)
* We moved some servlet dependent DAs to servlet lifecycle init()/destroy() methods. The problem of it is it executes DAs for whole deployment, not just particular deployed endpoint.
(IOW we execute the same DAs multiple times if there are more than one webservice endpoints in deployment. This need SPI review and repair)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] Created: (JBWS-2570) @SchemaValidation annotation does not work if schemaLocation property is not specified
by Nick Gudushauri (JIRA)
@SchemaValidation annotation does not work if schemaLocation property is not specified
--------------------------------------------------------------------------------------
Key: JBWS-2570
URL: https://jira.jboss.org/jira/browse/JBWS-2570
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: jboss 4.2.3.GA
jbossws-native-3.0.5.GA
Reporter: Nick Gudushauri
Steps to reproduce:
1. Create simpe JAX-WS service
2. Annotate it with @SchemaValidation annotation WITHOUT specifying optional schemaLocation property (In such case schema should be extracted from the WSDL)
3. Send test request
As the result no schema validation is performed and you will see the following messages in log:
17:07:13,421 INFO [SOAPBodyElementDoc] Validating: DOM_VALID
17:07:13,421 WARN [SchemaExtractor] Cannot find element: {http://schemas.xmlsoap.org/wsdl/}types
17:07:13,625 INFO [UCCServicesBean] Invoking UCC registerClearingOrder service by cer
17:07:14,515 INFO [SOAPBodyElementDoc] Validating: DOM_VALID
17:07:14,515 WARN [SchemaExtractor] Cannot find element: {http://schemas.xmlsoap.org/wsdl/}types
The problem root is that org.jboss.ws.extensions.validation.SchemaExtractor class could not load 'types' element from WSDL as this element does not present in WSDL directly but imported via 'import' element.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month
[JBoss JIRA] Created: (JBWS-2317) $JAXBAccessorF_ and $JAXBAccessorM_ cache loosing classes and failing to re-create classes.
by Darran Lofthouse (JIRA)
$JAXBAccessorF_ and $JAXBAccessorM_ cache loosing classes and failing to re-create classes.
-------------------------------------------------------------------------------------------
Key: JBWS-2317
URL: https://jira.jboss.org/jira/browse/JBWS-2317
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-metro, jbossws-native
Affects Versions: jbossws-metro-3.0.3, jbossws-native-3.0.3
Reporter: Darran Lofthouse
Assignee: Darran Lofthouse
Fix For: jbossws-native-3.0.4, jbossws-metro-3.0.4
The JAXB implementation contains a package of classes to optimise field and method access by dynamically generating classes to avoid reflection, this has a start-up performance hit but then leads to an optimised runtime.
The package is: -
'com.sun.xml.bind.v2.runtime.reflect.opt'
Within the Injector class is a HashMap to maintain a cache of these classes against the classloader they were created for: -
private static final Map<ClassLoader,WeakReference<Injector>> injectors =
Collections.synchronizedMap(new WeakHashMap<ClassLoader,WeakReference<Injector>>());
A WeakReference has been used to wrap the value to prevent the value retaining a reference to the ClassLoader and then preventing garbage collection and leading to a leak.
The problem is that nothing retains a reference to the Injector so as this is wrapped with a WeakReference it is garbage collected.
I will attach to this case a new version of Injector.java.
The fix switches to using a Strong reference to the Injector so it is not garbage collected.
To maintain the original requirements the Injector will no longer hold a reference to the ClassLoader and will instead make use of the one passed in.
Within the Injector the HashMap of classes will reference the Class with a WeakReference. If we get a WeakReference with no class it means the class was previously loaded but garbage collected, in this case try to load the class by name from the classloader - if this fails then redefine the class.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 6 months