[rules-users] REST API new asset
nicoktay
aoktaykabar at gmail.com
Thu Jan 31 06:50:20 EST 2013
Hi Gwendo,
Thanks a lot that solved my problem.
Regards,
Nicoktay.
gwendo wrote
> Hi Nicoktay,
>
> Unfortunately the documentation is a bit unclear of how to make the calls
> and what it expects.
> There are two ways of creating assets through the REST interface both
> which produces Atom Entries as responses. Ideally we should be able to
> return other responses than Atom Entries.
>
>
> The way you are trying to create the asset is by posting a stream, this
> also produces an Atom Entry as response.
> When posting as a stream you also need to include a slug header specifying
> the asset name. Based on the extension we will determine what type of
> asset it is.
>
> Something like this:
> Response response=
> client.path("guvnor-5.4.0.Final-jboss-as-7.0/rest/packages/mortgages/assets")
> .accept(MediaType.APPLICATION_ATOM_XML_TYPE)
> .type(MediaType.APPLICATION_OCTET_STREAM_TYPE)
> .header("slug", "myAssetName.drl")
> .post(source);
> nicoktay wrote
>> Thanks for the reply Jervis,
>>
>> Regarding to the problem I tried to create a RuleModel and wanted to
>> store this as drl asset.
>> Followed your suggestion but still I am mistaken in somewhere.
>>
>> String drl = p.marshal(rulemodel);
>>
>> WebClient client =
>> WebClient.create("http://127.0.0.1:8080/","admin","admin",null);
>> InputStream source = new
>> ByteArrayInputStream(read.marshal(m).getBytes());
>> Response response=
>> client.path("guvnor-5.4.0.Final-jboss-as-7.0/rest/packages/mortgages/assets").accept("application/xml").post(source);
>>
>>
>> and I had following error
>>
*
>> 30-ene-2013 18:00:10 org.apache.cxf.phase.PhaseInterceptorChain
>> doDefaultLogging
>> ADVERTENCIA: Interceptor for {http://127.0.0.1:8080/}WebClient has thrown
>> exception, unwinding now
>> org.apache.cxf.interceptor.Fault: Could not send Message.
>> at
>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
>> at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247)
>> at
>> org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:616)
>> at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:596)
>> at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:241)
>> at org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:250)
>> at ExpertSystem.Main_FireRules.testRuleModel(Main_FireRules.java:281)
>> at ExpertSystem.Main_FireRules.main(Main_FireRules.java:68)
>> Caused by: java.io.IOException: Server returned HTTP response code: 415
>> for URL:
>> http://127.0.0.1:8080/guvnor-5.4.0.Final-jboss-as-7.0/rest/packages/mortgages/assets
>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
>> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
>> Source)
>> at java.lang.reflect.Constructor.newInstance(Unknown Source)
>> at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown
>> Source)
>> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
>> Source)
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2190)
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2071)
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1925)
>> at
>> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
>> at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:662)
>> at
>> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>> ... 7 more
>> Caused by: java.io.IOException: Server returned HTTP response code: 415
>> for URL:
>> http://127.0.0.1:8080/guvnor-5.4.0.Final-jboss-as-7.0/rest/packages/mortgages/assets
>> at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
>> Source)
>> at java.net.HttpURLConnection.getResponseCode(Unknown Source)
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2102)
>> ... 12 more
*
>>
>>
>> Will be greatful for any help thanks,
>>
>> Nicoktay.
>>
>> Jervis Liu wrote
>>> On 2013/1/30 0:10, nicoktay wrote:
>>>> Hi all,
>>>>
>>>> I was trying to use POST method of REST API to create new asset and
>>>> insert
>>>> it into guvnor as in the document
>>>> http://docs.jboss.org/drools/release/5.5.0.Final/drools-guvnor-docs/html/ch09.html#d0e3500
>>>> <http://docs.jboss.org/drools/release/5.5.0.Final/drools-guvnor-docs/html/ch09.html#d0e3500>
>>>>
>>>> Below I tried to create new asset using POST, please guide me where I
>>>> was
>>>> wrong.
>>>>
>>>> WebClient client =
>>>> WebClient.create("http://127.0.0.1:8080/","admin","admin",null);
>>>>
>>>> Response response=
>>>> client.path("guvnor-5.4.0.Final-jboss-as-7.0/rest/packages/mortgages/assets/newtechnicalrule.drl").accept("text/plain").post(rule);
>>>> // rule is string drl which will be created with the name of
>>>> "newtechnicalrule.drl".
>>> When you use POST to create an asset, the correct url is
>>> http://localhost:8080/guvnor-5.5.0.Final/rest/packages{packageName}/assets
>>> <http://localhost:8080/guvnor-5.5.0.Final/rest/packages%7BpackageName%7D/assets>
>>>
>>> The POST method produces MIME-Types of application/atom+xm, not
>>> "text/plain"
>>>
>>> Cheers,
>>> Jervis
>>>
>>> *
>>>
>>>
>>>
>>>>
>>>> Welcome to any help thanks,
>>>>
>>>> Nicoktay.
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://drools.46999.n3.nabble.com/REST-API-new-asset-tp4021927.html
>>>> Sent from the Drools: User forum mailing list archive at Nabble.com.
>>>> _______________________________________________
>>>> rules-users mailing list
>>>>
>>> rules-users at .jboss
>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at .jboss
>>> https://lists.jboss.org/mailman/listinfo/rules-users
--
View this message in context: http://drools.46999.n3.nabble.com/REST-API-new-asset-tp4021927p4021992.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list