[
https://issues.apache.org/jira/browse/GERONIMO-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486446
]
Lin Sun commented on GERONIMO-3045:
-----------------------------------
Jarek, I tried to make change at the JAX-WS level as I don't think we should
call parseWebServiceDescriptor at all if it is JAX-RPC based webservices.xml.
However, I didn't handle the case when web.xml isn't there as the servletTypes
will be null.
The new patch is to revert the changes at JAX-WS level and ignore the xmlbeans
xmlexception in Axis2Builder.
I tried to check if namespaceURI equals "http://java.sun.com/xml/ns/javaee"
first but it is hard for me to get xbeans to do what I want.
Here's what I had:
XmlObject xobj = XmlObject.Factory.parse(in);
SchemaType st = xobj.schemaType();
cursor = xobj.newCursor();
cursor.toStartDoc();
cursor.toFirstChild();
if
("http://java.sun.com/xml/ns/javaee".equals(cursor.getName().getNamespaceURI()))
{
//the checking is needed as we also send JAX-RPC based
webservices.xml here
//if (xobj instanceof WebservicesDocument) {
WebservicesType wst =
WebservicesDocument.Factory.parse(in).getWebservices();
it turned out the xobj isn't instanceof WebservicesDocument, so I cannot cast
it to WebservicesDocument.
The above if statement works fine, but the inputstream isn't at the right
position so calling the following after if
WebservicesType wst =
WebservicesDocument.Factory.parse(in).getWebservices();
will fail. I tried to use inputstream.mark and .reset but these two methods
aren't supported.
Thus I decided just to ignore the xmlexception unless someone has a better
solution.
Thanks, Lin
> Unable to run jax-rpc war test with Axis2
> -----------------------------------------
>
> Key: GERONIMO-3045
> URL: https://issues.apache.org/jira/browse/GERONIMO-3045
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: webservices
> Affects Versions: 2.0-M5
> Environment: 1.5 SUN SDK + WIN XP
> Reporter: Lin Sun
> Assigned To: Lin Sun
> Fix For: 2.0-M5
>
> Attachments: G3045.patch
>
>
> When running the jax-rpc war test with axis2, both test failed due to an
> exception thrown when parseWebServiceDescriptor is called.
> from reading the code, if webservices.xml doesn't exist, we call
> discoverwebservices, which will check if the class has annotation. if
> webservices.xml exists, we 'll just call parseWebServiceDescriptor, which
> caused the error for axis2 because axis2 moved to xbeans.
> The fix is to check if annotation exists when webservices.xml exists also.
> Tested the fix and able to pass the 2 jax-rpc war test test with them. Will
> attach the patch after a full build.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.