You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Marianne Hagaseth <Ma...@marintek.sintef.no> on 2015/05/21 16:07:53 UTC
JAX-RS client from ISIS: What is missing/wrong?
Get this error messing (see at the end of the mail) when running this code (in RegulationRule.java):
//Start region REST client TEST
//region > showRestTest (property), setShowRestTest (action)
// Call Consolidation Web Service
private String showRestTest;
//private BigDecimal cost;
@javax.jdo.annotations.Column(allowsNull="true", length=1000)
@Property(editing= Editing.DISABLED,editingDisabledReason="Use action to update Finalized")
@MemberOrder(name="RegulationRule", sequence="28")
@PropertyLayout(typicalLength=1000, multiLine=4)
public String getShowRestTest() {
//public BigDecimal getCost() {
// return restClientTest.getTest();
return showRestTest;
}
public void setShowRestTest(final String showRestTest) {
// Does not work!!this.showRestTest = restClientTest.getTest();
this.showRestTest = showRestTest;
}
public void modifyShowRestTest(final String showRestTest) {
setShowRestTest(showRestTest);
}
public void clearShowRestTest() {
setShowRestTest(null);
}
//region > RestTest (action)
@Action(semantics=SemanticsOf.NON_IDEMPOTENT)
public String testRestClient() {
// public ToDoItem updateCost(
String returnValue= restClientTest.getTest() ;
setShowRestTest(returnValue);
return returnValue;
}
//endregion REST client TEST
It fails when calling the REST client: String returnValue= restClientTest.getTest() ;
The REST client is like this (in RESTclientTest.java):
public class RESTclientTest {
// From https://docs.jboss.org/resteasy/docs/3.0-beta-3/userguide/html/RESTEasy_Client_Framework.html
@Action
public String getTest() {
Client client = ClientBuilder.newClient();
// Create a WebTarget:
WebTarget target = client.target("myURL");
// Build a request:
Response response = target.request().get();
String value = response.readEntity(String.class);
response.close(); // You should close connections!
return value;
}
}
What else have I done:
1) Using jboss-jaxrs-api_2.0_spec-1.0.0.Final as the REST client implementation. Updated the classpath in eclipse.
2) Added to the pom.xml:
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
<version>1.0.0.Final</version>
</dependency>
3) Injected the REST client code in RegulationRule.java:
@javax.inject.Inject
private RESTclientTest restClientTest;
When calling the REST client (restClientTest.getTest()) it fails here:
public InvocationTargetException(Throwable target) {
super((Throwable)null); // Disallow initCause
this.target = target;
}
Are there anything missing in the Client-code or in the ISIS-part, I wonder?
15:47:17,850 [RequestCycleExtra 370520891@qtp-764920241-1 WARN ] Handling the following exception
org.apache.wicket.WicketRuntimeException: Method onRequest of interface org.apache.wicket.behavior.IBehaviorListener targeted at org.apache.wicket.ajax.markup.html.AjaxLink$1@3b12e011 on component [AjaxLink [Component id = additionalLink]] threw an exception
at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:268)
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:250)
at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
... 36 more
Caused by: java.lang.NullPointerException
at dom.regulation.RegulationRule.testRestClient(RegulationRule.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.internalInvoke(ActionInvocationFacetForDomainEventAbstract.java:337)
at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:191)
at org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
at org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:54)
at org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
at org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
at org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:367)
at org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.executeWithRuleChecking(ObjectActionImpl.java:358)
at org.apache.isis.viewer.wicket.model.models.ActionModel.executeAction(ActionModel.java:465)
at org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:445)
at org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:78)
at org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:121)
at org.apache.isis.viewer.wicket.model.models.ActionModel.executeHandlingApplicationExceptions(ActionModel.java:541)
at org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionOnTargetAndProcessResults(ActionPanel.java:245)
at org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionAndProcessResults(ActionPanel.java:193)
at org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.buildGui(ActionPanel.java:104)
at org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.<init>(ActionPanel.java:82)
at org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory.createComponent(ActionPanelFactory.java:49)
at org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:128)
at org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLinkFactoryAbstract$1.onClick(ActionLinkFactoryAbstract.java:77)
at org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:86)
at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:124)
at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:633)
... 40 more
15:47:17,852 [RequestCycleExtra 370520891@qtp-764920241-1 WARN ] ********************************
15:47:17,861 [IsisTransaction 370520891@qtp-764920241-1 INFO ] abort transaction IsisTransaction@73e9b02a[state=MUST_ABORT,commands=0]
https://bitbucket.org/marianne_hagaseth/creationtool/src/4953dd590b189c014ad8c81ff31cf20eee586cc1/dom/src/main/java/dom/regulation/?at=master
Med vennlig hilsen / Best regards,
Marianne Hagaseth
Forsker - Maritime transportsystemer
Research Scientist - Maritime Transport Systems
MARINTEK (Norsk Marinteknisk Forskningsinstitutt AS)
Address: POB 4125 Valentinlyst, NO-7450 Trondheim, Norway
Mobile: +47 90 95 64 69 - Phone: +47 464 15 000
Web: www.marintek.sintef.no<http://www.marintek.sintef.no/>