[JBoss JIRA] (JBWS-3870) Imported schemas in weird places in deployments causes issues
by R Searls (JIRA)
R Searls created JBWS-3870:
------------------------------
Summary: Imported schemas in weird places in deployments causes issues
Key: JBWS-3870
URL: https://issues.jboss.org/browse/JBWS-3870
Project: JBoss Web Services
Issue Type: Bug
Components: jbossws-cxf
Reporter: R Searls
Fix For: jbossws-cxf-5.0
There is a customer that has placed their WSDL files under
WEB-INF/classes/wsdl rather than just WEB-INF/wsdl. They then put
their WSDL under a subdirectory of that folder, say "thewsdl". Then
that WSDL references other schemas in other subdirectories at the same
level as the WSDL's subdirectory. Like this:
WEB-INF/
classes/
wsdl/
thewsdl/
the-actual-wsdl.wsdl
schemas/
some-schema.xsd
When this gets deployed, all the imported schemas fall outside the
deployment's data/wsdl folder when they are written to the filesystem.
Like this:
standalone/
data/
wsdl/
myDeployment.war/
<wsdl would go here>
schemas/
some-schema.xsd
This can cause weird concurrency issues if multiple deployment
processor threads happen to be processing separate webservices where
each have WSDLs that happen to import schemas with the same schemaLocation
attribute. In the above scenario, the schemaLocation would include a
".." since the WSDL would be in its own subfolder.
The code that writes these files to disk is here
Line 224:
https://anonsvn.jboss.org/repos/jbossws/common/tags/jbossws-common-2.3.1....
Line 190:
https://anonsvn.jboss.org/repos/jbossws/stack/cxf/tags/jbossws-cxf-4.3.3....
The problem is that WSDLFilePublisher.getPublishLocation() cuts off
subfolders that the WSDL is under in this particular scenario, so when
the schemaLocation that has ".." in it is appended to the WSDL path,
it will write the schema outside the deployment's data/wsdl/ folder.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (JBWS-3007) Re-define QA phase leveraging staging repositories
by Alessio Soldano (JIRA)
[ https://issues.jboss.org/browse/JBWS-3007?page=com.atlassian.jira.plugin.... ]
Alessio Soldano updated JBWS-3007:
----------------------------------
Component/s: (was: jbossws-native)
> Re-define QA phase leveraging staging repositories
> --------------------------------------------------
>
> Key: JBWS-3007
> URL: https://issues.jboss.org/browse/JBWS-3007
> Project: JBoss Web Services
> Issue Type: Task
> Components: jbossws-cxf, productization
> Reporter: Alessio Soldano
> Assignee: Alessio Soldano
>
> Now that the new maven repository based on nexus is available, we can finally implement a better QA phase. I'm thinking about providing a proper maven profile for hudson to run against the staging repository. That would allow us to do what follows at code freeze:
> - verify all green (blue) on hudson against trunk
> - tag every changed components (spi, common, fw, ci, stacks) and mvn deploy them
> - close the temporary staging repository/repositories making the artifacts move to the shared staging repo
> - quickly re-start hudson against the staging repository
> - get a full clear run on hudson (starting with a local repository cleanup)
> - promote the artifacts to the release repository
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (JBWS-3869) To configure CXF StAX properties on a per-endpoint/client basis if a JAX-WS handler is configured
by Viral Gohel (JIRA)
[ https://issues.jboss.org/browse/JBWS-3869?page=com.atlassian.jira.plugin.... ]
Viral Gohel updated JBWS-3869:
------------------------------
Description:
Caused by: org.apache.cxf.staxutils.DepthExceededStaxException: reach the innerElementCountThreshold:50000
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:726)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:223)
at org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.java:257)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:161)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:124)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1624)
This happens because the SAAJInInterceptor invokes StaxUtils.copy() with the value of the fourth argument as true, which means StaxUtils uses its static properties to check innerElementLevelThreshold and innerElementCountThreshold. If the XMLStreamReader passed in to the method has custom values for these properties, they are ignored.
CXF Upstream Issue : https://issues.apache.org/jira/browse/CXF-6173
was:
Caused by: org.apache.cxf.staxutils.DepthExceededStaxException: reach the innerElementCountThreshold:50000
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:726)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:223)
at org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.java:257)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:161)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:124)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1624)
This happens because the SAAJInInterceptor invokes StaxUtils.copy() with the value of the fourth argument as true, which means StaxUtils uses its static properties to check innerElementLevelThreshold and innerElementCountThreshold. If the XMLStreamReader passed in to the method has custom values for these properties, they are ignored.
> To configure CXF StAX properties on a per-endpoint/client basis if a JAX-WS handler is configured
> -------------------------------------------------------------------------------------------------
>
> Key: JBWS-3869
> URL: https://issues.jboss.org/browse/JBWS-3869
> Project: JBoss Web Services
> Issue Type: Bug
> Components: jbossws-cxf, jbossws-integration
> Affects Versions: jbossws-cxf-4.3
> Environment: JBoss EAP 6.3
> Reporter: Viral Gohel
>
> Caused by: org.apache.cxf.staxutils.DepthExceededStaxException: reach the innerElementCountThreshold:50000
> at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:726)
> at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:223)
> at org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78)
> at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.java:257)
> at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:161)
> at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:124)
> at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845)
> at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1624)
> This happens because the SAAJInInterceptor invokes StaxUtils.copy() with the value of the fourth argument as true, which means StaxUtils uses its static properties to check innerElementLevelThreshold and innerElementCountThreshold. If the XMLStreamReader passed in to the method has custom values for these properties, they are ignored.
> CXF Upstream Issue : https://issues.apache.org/jira/browse/CXF-6173
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months
[JBoss JIRA] (JBWS-3869) To configure CXF StAX properties on a per-endpoint/client basis if a JAX-WS handler is configured
by Viral Gohel (JIRA)
Viral Gohel created JBWS-3869:
---------------------------------
Summary: To configure CXF StAX properties on a per-endpoint/client basis if a JAX-WS handler is configured
Key: JBWS-3869
URL: https://issues.jboss.org/browse/JBWS-3869
Project: JBoss Web Services
Issue Type: Bug
Components: jbossws-cxf, jbossws-integration
Affects Versions: jbossws-cxf-4.3
Environment: JBoss EAP 6.3
Reporter: Viral Gohel
Caused by: org.apache.cxf.staxutils.DepthExceededStaxException: reach the innerElementCountThreshold:50000
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:726)
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:223)
at org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.java:257)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:161)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:124)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:845)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1624)
This happens because the SAAJInInterceptor invokes StaxUtils.copy() with the value of the fourth argument as true, which means StaxUtils uses its static properties to check innerElementLevelThreshold and innerElementCountThreshold. If the XMLStreamReader passed in to the method has custom values for these properties, they are ignored.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 9 months