Alessio Soldano wrote:
Hi Richard,
after some investigation and debug I managed to understand what was
happening about JBWS-1792 and fix it.
As you noticed, my fix to the AS 4.2.3 should not harm anything since
it only makes available the context-params and propagates the jbossws
conf to the JSEArchiveMetaData.
The JBWS-1792 was however failing because of a little bug in the
EndpointMetaData that didn't always set itself into the
HandlerMetaData. For this reason the right classloader was not
available when trying to load the handler class specified into a user
provided jaxrpc jbossws configuration. This of course didn't happen
before my fix to the AS because the right conf was not available ;-)
and was instead set only at the first invocation of the EndpointServlet.
I successfully ran a full test suite over AS 4.2.3 so I've just
committed the fix to the EndpointMetaData. Later I'll revert your
change to the AS since it is not required anymore.
Still have to understand exactly why those tests pass on AS 5.0.
I think it works on AS 5.0 because of different DeploymentAspects and
their runtime order
Cheers
Alessio
Richard Opalka ha scritto:
> Hi Alessio,
>
> today I was investigating why our JBWS-1792 test is failing on
> JBoss AS 4.2.3
> (see e.g.:
>
http://jbws.dyndns.org:8180/hudson/job/Native-Core-AS-4.2.3/29/testReport/)
>
> I discovered, that this problem is caused by your commit in JBoss AS
> 4.2.3 branch:
>
> Index:
> src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java
> ===================================================================
> ---
> src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java
> (revision 68729)
> +++
> src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java
> (revision 68730)
> @@ -81,6 +81,11 @@
> webMetaData.setServletClassNames(getServletClassMap(wmd));
> webMetaData.setConfigName(wmd.getConfigName());
> webMetaData.setConfigFile(wmd.getConfigFile());
> + Map contextParams = wmd.getContextParams();
> + if (contextParams.containsKey("jbossws-config-name"))
> +
>
webMetaData.setConfigName((String)contextParams.get("jbossws-config-name"));
>
> + if (contextParams.containsKey("jbossws-config-file"))
> +
>
webMetaData.setConfigFile((String)contextParams.get("jbossws-config-file"));
>
> webMetaData.setSecurityDomain(wmd.getSecurityDomain());
>
> webMetaData.setPublishLocationAdapter(getPublishLocationAdpater(wmd));
>
> webMetaData.setSecurityMetaData(getSecurityMetaData(wmd.getSecurityContraints()));
>
>
> I created conditional statement there to do this stuff for JAX-WS
> endpoints only on JBoss AS 4.2.3.
> However this needs further investigation and allows JAX-RPC endpoints
> to work properly
> on JBoss AS 4.2.3 as well with your fix.
> Just for your information this JAX-RPC test passes on JBoss AS 5.0.0.
>
--
B.Sc. Richard Opalka
Senior Software Engineer
JBoss, a division of Red Hat
Mobile: +420 731 186 942
Mail: ropalka(a)redhat.com