Jboss AS 7 and class loading - jboss

I am using JBOSS AS 7.0.2 Final, and was trying to upgrade the version of RESTEASY that comes with 7.0.2 RESTEASY 2.2.1.GA to a newer version such as 2.3.4.Final. I followed the directions as indicated in patching provided by JBOSS, and when I did that, at application server startup it throws the error of being unable to parse the module.xml file.
I attempted the same procedure on 7.1.1 Final and it works fine.
First Question is, anyone know how to update RESTEASY in 7.0.2 (My other servers are all using this so I really like not to have to reset my other servers and replace with newer version of JBOSS)
I was hoping to upgrade RESTEASY, with hopes that this error may have been resolved in newer version
I have also tried by adjusting my POM to use version 2.3.4.Final and tried every scope, but it always would fail to use the newer jars and stick with JBOSS supplied jar.
15:14:09,947 SEVERE [org.jboss.resteasy.core.SynchronousDispatcher] (http--127.0.0.1-8443-6) Failed executing POST /countermeasure/customQueryLite: org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: Could not find MessageBodyWriter for response object of type: java.util.ArrayList of media type
: application/xml
at org.jboss.resteasy.core.ServerResponse.writeTo(ServerResponse.java:216) [resteasy-jaxrs-2.2.1.GA.jar:]
It works fine for json, and text, and singular xml objects, but not list objects for xml.
Any answers in regards to these issues with resteasy and jboss would be helpful.

Related

How to remove a jar from Mule ESB Runtime server in Anypoint Studio?

I have created an ESB application which fails to execute the flow because the library js-engine-1.1-jdk14.jar is present in Mule Runtime server 3.9.0 Community Edition.
So I want to know how can I remove this jar js-engine-1.1-jdk14.jar from the mule runtime server in Anypoint Studio so that my flow can execute properly.
Error is :
com.sun.phobos.script.util.ExtendedScriptException:
org.mozilla.javascript.EcmaError: ReferenceError: "load" is not
defined. (#3) in at line number 3
You should never remove a jar from the runtime, under risk of breaking it. Same with thing with overriding or updating them. Instead, at least for Mule 3.x, you have to adapt your application to the libraries provided.
You didn't mention what was the error or problem why it fails. If the application is using a different and incompatible version than the one provided, then it needs to be modified to use the same one than the runtime.
In the EE you have the alternative method of fine grained class loading control though it is not useful for every use case.
The lib can be found inside plugins/org.mule.tooling.server.3.9.0_6.4.0.201710051922\mule\lib\opt. We can remove it from there.

Wildfly swarm jax-rs multipart form NotSupportedException

I have a fairly simple jax-rs application running on wildfly 9. It makes use of resteasy multipart form. It runs 100%. Now I am trying to run the same application with wildfly swarm, but get a
javax.ws.rs.NotSupportedException: Could not find message body reader for type .... multipart/form-data on execute of the resource post operation.
This as far as I understand is the resteasy-multipart-provider. In my pom I have the wildfly-swarm-weld-jaxrs fraction. Is this not suppose to take care of the multipart features? If not how do I get it included in the swarm fat jar/package? I have tried including the resteasy-multipart-provider as a compile dependency, but this breaks the swarm application and it refuses to start/boot. Or have I missed something else?
JAX-RS Multipart support is declared as an optional module in WildFly, so the necessary classes to make it work were not included in the application.
Since then Ken Finnigan added a new WildFly Swarm API for the module.
If you build the latest from wildfly-swarm/wildfly-swarm on GitHub you can add the wildfly-swarm-jaxrs-multipart artifact as a dependency to the project and that should resolve the problem.

Swagger 1.3.7 and Jersey 2.15/2.16 issue: the request entity is in a format not supported by the requested resource

I have a REST API that was working with Jersey 2.6 and Swagger 1.3.7. I read that Jersey 2.9 fixes a warning that I was getting so I upgraded to the latest Jersey 2.16 but then Swagger stopped working. I went back and upgraded one version at a time until I saw that Swagger was working with 2.15 so I settled on that. Now, the PUT API fails with Swagger with the following error:
The server refused this request because the request entity is in a format not supported by the requested resource for the requested method
The API works using FireFox RESTClient and specifying "application/json".
I do have "jersey-media-json-jackson" as a dependency and call "Client client = ClientBuilder.newClient().register(JacksonFeature.class);" in the program.
I tried upgrading Swagger but that did not help.
Has Swagger been verified to work with Jersey 2.15/2.16?
I've recently managed to get swagger-core to work with Jersey 2.16 with a similar issue. Keep in mind they are using the latest version (1.5.X) and not 1.3.X but the same solution will apply.
The problem is most likely with version resolution, specifically, the one of jackson-databind. For some reason, even jersey-media-json-jackson 2.16 depends on an older version of jackson-databind, even though it works fine with the latest version. Without having more details, it would be difficult to suggest a full solution, but you can follow the dependency tree and see the conflicts there.
If you do require further assistance, I'd suggest either using our mailing list, or even better, the IRC channel where we could interact online and resolve it.

XPages Runtime version reports WCT instead of DSI

We have an existing Domino 8.5.3 FP4 server that is being used for XPages application for the first time. The latest Extension Library from OpenNTF has been installed, but the issue we're having appears to be with the standard XPages runtime.
A simple XPage is displaying:
Error 500
HTTP Web Server: Command Not Handled Exception
and in the xpages_exc_XXX.log:
Caused by: org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Import-Package: org.eclipse.equinox.http.servlet
It appears to be due to WCT being reported as the version:
tell http osgi show version
XSP Runtime Version: [WCT8.5.3_FP4] 20130326.1400
What would cause WCT to be reported rather than DSI? I read it should always be DSI for Domino XPages.
tell http osgi diag org.eclipse.equinox.http.registry
Cannot find bundle org.eclipse.equinox.http.servlet.
The following files in D:\Lotus\Domino\osgi\rcp\eclipse\plugins appear to be have been updated after Domino was installed:
com.ibm.eclipse.equinox.http.registry.nl_6.2.3.20110815-1128.jar
org.eclipse.equinox.http.registry_1.0.100.v20080427-0830.jar
org.eclipse.equinox.http.servlet_1.0.100.v20080427-0830.jar
Thanks
Update 04 February 2014 09:45
I've performed the following:
tell http osgi diag org.eclipse.equinox.http.servlet
Cannot find bundle org.eclipse.equinox.http.servlet.
This does NOT list the following (which are displayed on a working server) - although bundles 0-7 and 10-152 are listed:
tell http osgi ss
8 ACTIVE org.eclipse.equinox.http.registry_1.0.100.v20080427-0830
Fragments=45
9 ACTIVE org.eclipse.equinox.http.servlet_1.0.100.v20080427-0830
Is there any further debugging I can do to determine why the bundles cannot be found?
I don't think the WCT vs. DSI label is the problem. That's just an artifact of how IBM builds fix packs. However, there does appear to be a problem with the set of OSGi plugins installed on your system.
It looks like it can't load equinox.http.registry because it can't find a required plugin -- equinox.http.servlet. Have you tried investigating why the second plugin doesn't load? In other words:
tell http osgi diag org.eclipse.equinox.http.servlet
That might help you chase down the missing constraint.

Oracle 10g - JAXB unmarshalling is not working as expected

We're using Oracle 10g application server and deployed the Web service and trying to deploy the web service client. Server is working fine i.e.; marshalling is working fine. We're getting the output from the service properly but the search client is not unmarshalling (parsing) the response received. We're using all the tags under same name space so there is no name space problem. Different collections would exists in the XSD. Has anyone faced similar kind of issue? Is there any solution for this?
Thanks
Santhosh
Well... the issue was due to the library which was not running as expected in Java 1.5. We've developed the web service client with JAX-WS 2.2 which was running properly when running with Netbeans IDE 6.8 but not on the standalone server. We've downgraded the Netbeans and modified the libraries to JAX-WS 2.1. It worked...
Good to know. JAX-WS 2.2 is not compatible with Java 1.5