airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raminder Singh <raminderjsi...@gmail.com>
Subject Re: small clarification for wrapping the applications
Date Sun, 20 Oct 2013 15:49:56 GMT
Is it possible for you to use some URL encoder? SOAP message does not allow special char as
part of request. This is a good thing to handle in Airavata API but for now you need to encode.
Please feel free to create JIRAs for any issue you are facing and if possible submit patches.


Thanks
Raminder  
On Oct 20, 2013, at 6:40 AM, Ishara RANATUNGA <newair007@gmail.com> wrote:

> Hi,
> 
> Thanks for replies. I have another issue with inputs. When I give some complex url such
as.
> 
> http://localhost:8094/geoserver/Dhara/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=Dhara:Rd_Bulathsinhala2&maxFeatures=50&outputFormat=GML2
>  
> for the input which is defined as a string paramater I get the following error. Input
is given to the simple echo application.
> 
> (echo %1)
> 
> But URL's such as      http://localhost:8093/wps/WebProcessingService works fine. Seems
like equal sign makes some trouble.
> 
> 
> <ns:invokingServiceFailed infoModelVersion="2.6"
>   xmlns:ns="http://airavata.apache.org/schemas/wft/2011/08">
>   <ns:notificationSource ns:serviceID="Workflow1_4830e475_b139_4e85_9d6b_8b10fc38afad"
ns:experimentID="Workflow1_4830e475-b139-4e85-9d6b-8b10fc38afad" />
>   <ns:timestamp>2013-10-20T16:02:29.398+05:30</ns:timestamp>
>   <ns:description>Error in invoking a service: &lt;wsdl:definitions name="Echo"
targetNamespace="http://airavata.apache.org/schemas/gfac/2012/12" xmlns:typens="http://airavata.apache.org/schemas/gfac/2012/12/Echo/xsd"
xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:globalTypens="http://airavata.apache.org/schemas/gfac/2012/12/xsd" xmlns:wsdlns="http://airavata.apache.org/schemas/gfac/2012/12"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:gfac="http://airavata.apache.org/schemas/gfac/2012/12"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
>   &lt;wsdl:types>
>     &lt;schema elementFormDefault="unqualified" targetNamespace="http://airavata.apache.org/schemas/gfac/2012/12/Echo/xsd"
xmlns="http://www.w3.org/2001/XMLSchema">
>       &lt;import namespace="http://airavata.apache.org/schemas/gfac/2012/12" schemaLocation="http://airavata.apache.org/schemas/gfac/2012/12/GFacParameterTypes.xsd"
/>
>       &lt;element name="invoke_InputParams" type="typens:invoke_InputParamsType"
/>
>       &lt;complexType name="invoke_InputParamsType">
>         &lt;sequence>
>           &lt;element name="input" type="gfac:StringParameterType">
>             &lt;annotation>
>               &lt;documentation />
>             &lt;/annotation>
>           &lt;/element>
>         &lt;/sequence>
>       &lt;/complexType>
>       &lt;element name="invoke_OutputParams" type="typens:invoke_OutputParamsType"
/>
>       &lt;complexType name="invoke_OutputParamsType">
>         &lt;sequence>
>           &lt;element name="output" type="gfac:StdOutParameterType">
>             &lt;annotation>
>               &lt;documentation />
>             &lt;/annotation>
>           &lt;/element>
>         &lt;/sequence>
>       &lt;/complexType>
>     &lt;/schema>
>   &lt;/wsdl:types>
>   &lt;wsdl:message name="invoke_RequestMessage_77019bf3-cef5-4129-bd6f-5e7569d9757d">
>     &lt;wsdl:part name="parameters" element="typens:invoke_InputParams">
>     &lt;/wsdl:part>
>   &lt;/wsdl:message>
>   &lt;wsdl:message name="invoke_ResponseMessage_d24d72bc-26c0-4870-89cf-840e7fd19639">
>     &lt;wsdl:part name="parameters" element="typens:invoke_OutputParams">
>     &lt;/wsdl:part>
>   &lt;/wsdl:message>
>   &lt;wsdl:portType name="Echo">
> &lt;wsdl:documentation />
>     &lt;wsdl:operation name="invoke">
> &lt;wsdl:documentation />
>       &lt;wsdl:input name="invoke_RequestMessage_77019bf3-cef5-4129-bd6f-5e7569d9757d"
message="wsdlns:invoke_RequestMessage_77019bf3-cef5-4129-bd6f-5e7569d9757d">
>     &lt;/wsdl:input>
>       &lt;wsdl:output name="invoke_ResponseMessage_d24d72bc-26c0-4870-89cf-840e7fd19639"
message="wsdlns:invoke_ResponseMessage_d24d72bc-26c0-4870-89cf-840e7fd19639">
>     &lt;/wsdl:output>
>     &lt;/wsdl:operation>
>   &lt;/wsdl:portType>
> &lt;/wsdl:definitions>: org.apache.axiom.om.OMException: [com.ctc.wstx.exc.WstxLazyException]
com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '=' (code 61); expected
a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]</ns:description>
>   <ns:annotation>
>     <stackTrace>org.apache.axiom.om.OMException: [com.ctc.wstx.exc.WstxLazyException]
com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '=' (code 61); expected
a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]
> 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:260)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.buildNext(OMElementImpl.java:664)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstOMChild(OMElementImpl.java:681)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.getText(OMElementImpl.java:845)
> 	at org.apache.airavata.gfac.utils.GFacUtils.getInputActualParameter(GFacUtils.java:150)
> 	at org.apache.airavata.xbaya.invoker.EmbeddedGFacInvoker.getInParameters(EmbeddedGFacInvoker.java:515)
> 	at org.apache.airavata.xbaya.invoker.EmbeddedGFacInvoker.invoke(EmbeddedGFacInvoker.java:299)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpreter.handleWSComponent(WorkflowInterpreter.java:682)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpreter.executeDynamically(WorkflowInterpreter.java:501)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpreter.scheduleDynamically(WorkflowInterpreter.java:186)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton.executeWorkflow(WorkflowInterpretorSkeleton.java:385)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton.access$400(WorkflowInterpretorSkeleton.java:78)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton$2.run(WorkflowInterpretorSkeleton.java:378)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxUnexpectedCharException:
Unexpected character '=' (code 61); expected a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]
> 	at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:45)
> 	at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:704)
> 	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)
> 	at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:809)
> 	at javax.xml.stream.util.StreamReaderDelegate.getText(StreamReaderDelegate.java:201)
> 	at org.apache.axiom.om.impl.builder.SafeXMLStreamReader.getText(SafeXMLStreamReader.java:101)
> 	at org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:276)
> 	at org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:246)
> 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:217)
> 	... 13 more
> Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '=' (code
61); expected a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]
> 	at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:623)
> 	at com.ctc.wstx.sr.StreamScanner.parseEntityName(StreamScanner.java:1969)
> 	at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java:1471)
> 	at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4679)
> 	at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
> 	at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
> 	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
> 	... 19 more
> </stackTrace>
>   </ns:annotation>
>   <ns:receiver ns:serviceID="Workflow1_4830e475_b139_4e85_9d6b_8b10fc38afad" />
>   <ns:failure>
>     <ns:trace xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>       xmlns:ns="http://airavata.apache.org/schemas/wft/2011/08">org.apache.axiom.om.OMException:
[com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected
character '=' (code 61); expected a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]
> 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:260)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.buildNext(OMElementImpl.java:664)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstOMChild(OMElementImpl.java:681)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.getText(OMElementImpl.java:845)
> 	at org.apache.airavata.gfac.utils.GFacUtils.getInputActualParameter(GFacUtils.java:150)
> 	at org.apache.airavata.xbaya.invoker.EmbeddedGFacInvoker.getInParameters(EmbeddedGFacInvoker.java:515)
> 	at org.apache.airavata.xbaya.invoker.EmbeddedGFacInvoker.invoke(EmbeddedGFacInvoker.java:299)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpreter.handleWSComponent(WorkflowInterpreter.java:682)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpreter.executeDynamically(WorkflowInterpreter.java:501)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpreter.scheduleDynamically(WorkflowInterpreter.java:186)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton.executeWorkflow(WorkflowInterpretorSkeleton.java:385)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton.access$400(WorkflowInterpretorSkeleton.java:78)
> 	at org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton$2.run(WorkflowInterpretorSkeleton.java:378)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxUnexpectedCharException:
Unexpected character '=' (code 61); expected a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]
> 	at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:45)
> 	at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:704)
> 	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)
> 	at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:809)
> 	at javax.xml.stream.util.StreamReaderDelegate.getText(StreamReaderDelegate.java:201)
> 	at org.apache.axiom.om.impl.builder.SafeXMLStreamReader.getText(SafeXMLStreamReader.java:101)
> 	at org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:276)
> 	at org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:246)
> 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:217)
> 	... 13 more
> Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '=' (code
61); expected a semi-colon after the reference for entity 'version'
>  at [row,col {unknown-source}]: [1,69]
> 	at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:623)
> 	at com.ctc.wstx.sr.StreamScanner.parseEntityName(StreamScanner.java:1969)
> 	at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java:1471)
> 	at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4679)
> 	at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
> 	at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
> 	at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
> 	... 19 more
> </ns:trace>
>   </ns:failure>
> </ns:invokingServiceFailed>
> 
> 
> Any ideas on how to give some complex URL's like that as an inputs.
> 
> Thank You !
> 
> 
> 
>  
> 
> 
> On Sat, Oct 19, 2013 at 1:29 AM, Lahiru Gunathilake <glahiru@gmail.com> wrote:
> I think we need to fix the regex and make it configurable rather hard coding.
> 
> Lahiru
> 
> 
> On Fri, Oct 18, 2013 at 11:26 AM, Raminder Singh <raminderjsingh@gmail.com> wrote:
> There is a problem with the regex to read outputs. This is a defect [1] and need to be
fixed. 
> 
> 1. https://issues.apache.org/jira/browse/AIRAVATA-933
> 
> On Oct 18, 2013, at 4:27 AM, Ishara RANATUNGA <newair007@gmail.com> wrote:
> 
>> 
>> Hi,
>> 
>> Thanks a lot for the help. We are in the process of chaining wps processes and in
some cases sending GML output of the WPS to a map at a portal.
>> 
>> We get a larger String with spaces, EOL characters etc. I found that having something
like 
>> 
>> @echo off
>> 
>> echo output=hello world
>> 
>> only gives me only the String "hello" to the second component.
>> 
>> I want to input entire String as it is to the second component. How is this possible?
Your thoughts are very helpful.
>> 
>> Thank You !
>> 
>>  
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Thu, Oct 17, 2013 at 11:43 PM, Raminder Singh <raminderjsingh@gmail.com>
wrote:
>> Everything you are doing looks good to me. You can use String data type in this case
for both output of component 1 and input of component 2.  You need to name the output parameter
as "output". Input parameter name does not matter. Here is some information on other data
types used in different projects:
>> 
>> URI: Incase you want to move files.
>> URIArray: if these are more than one files.
>> 
>> Please share your requirements and we will be able to advise/help you better.
>> 
>> Thanks
>> Raminder
>> 
>> On Oct 17, 2013, at 1:51 PM, Ishara RANATUNGA <newair007@gmail.com> wrote:
>> 
>> > Hi,
>> >
>> > I have small issue regarding creating components by wrapping the applications.
Lets assume I have created a small java application that prints out some string.
>> >
>> > Eg: System.out.println("Output of process 1");
>> >
>> > And I wrote a script wrapping the jar which outputs the above statement.
>> >
>> > @echo off
>> >
>> > echo output=E:\FYP\Other\outGMLFromAirvata\
>> > java -jar E:\FYP\projects\wrapper\out\artifacts\wrapper_jar\wrapper.jar %1
>> >
>> >
>> > Then I could load the component Register Application --> New deployment-->
Register.
>> > Then I can create a simple workflow input--> component1 --> output which
executes and gives the output  "Output of process 1".
>> > (Output data type of the component std out)
>> >
>> >
>> >
>> > Then I have another application that needs to input the string "Output of process
1" from component 1 and needs to output the the String "Output of process 2". I created a
java application that does that and wrapped using another wrapper and loaded the component
as described above.
>> > I used 'string' as second component's input data type where it does not work.
>> >
>> > What are the correct data types of output of component 1 and input of component
2. Or did I do anything wrong when wrapping the applications. Your kind help is really appreciated
and thanks a lot for the help so far.
>> >
>> > Thank You !
>> >
>> >
>> >
>> >
>> >
>> >
>> 
>> 
> 
> 
> 
> 
> -- 
> System Analyst Programmer
> PTI Lab
> Indiana University
> 


Mime
View raw message