...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <wsdl:definitions name="servicemix-exec" targetNamespace="http://servicemix.apache.org/exec" xmlns:tns="http://servicemix.apache.org/exec" xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://servicemix.apache.org/exec" xmlns:tns="http://servicemix.apache.org/exec" attributeFormDefault="unqualified" elementFormDefault="unqualified"> <xs:complexType name="execRequest"> <xs:sequence> <xs:element name="command" type="xs:string" minOccurs="0"/> <xs:element name="arguments" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="argument" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="execResponse"> <xs:sequence> <xs:element name="endTime" type="xs:long"/> <xs:element name="errorData" type="tns:stringBuffer" minOccurs="0"/> <xs:element name="executionDuration" type="xs:long"/> <xs:element name="exitCode" type="xs:int"/> <xs:element name="outputData" type="tns:stringBuffer" minOccurs="0"/> <xs:element name="startTime" type="xs:long"/> </xs:sequence> </xs:complexType> <xs:complexType name="stringBuffer" final="extension restriction"> <xs:complexContent> <xs:extension base="tns:abstractStringBuilder"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="abstractStringBuilder" abstract="true"> <xs:sequence/> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="execRequest"> <wsdl:part name="parameters" element="tns:execRequest"/> </wsdl:message> <wsdl<wsdl:message name="execResponse"> <wsdl:part name="parameters" element="tns:execResponse"/> </wsdl:message> <wsdl:portType name="ExecPortType"> <wsdl:operation name="execute"> <wsdl:input message="tns:execRequest"/> <wsdl:output message="tns:execResponse"/> </wsdl:operation> </wsdl:portType> </wsdl:definitions> |
Note |
---|
It's possible to expose an Exec endpoint directly using a SOAP compliant BC such as ServiceMix HTTP or ServiceMix CXF-BC. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?>
<exec:execRequest xmlns:exec="http://servicemix.apache.org/exec">
<command>ls</command>
<arguments>
<argument>-lt</argument>
<argument>/tmp</argument>
<arguments>
</exec:execRequest>
{code:xml}
h4. ExecResponse
When used with an InOut MEP, the Exec endpoint returns an ExecResponse. The ExecResponse contains all information about the command execution.
{noformat} |
ExecResponse
When used with an InOut MEP, the Exec endpoint returns an ExecResponse. The ExecResponse contains all information about the command execution.
No Format |
---|
started - contains the execution start time in millis (System.currentTimeMillis() is used). finished - contains the time the process execution finished in millis (System.currentTimeMillis() is used). duration - the duration in millis the execution took. exitcode - the return code of the process (0 means all fine; != 0 means an error code). output - the contents of the output stream of the process. error - the contents of the error stream of the process. Some words on the output and error stream contents. It may happen that some information at the very beginning will get lost depending on how fast the stream listeners are set up and how fast the executed process will push information to it. {noformat} |
Here
...
is
...
an
...
example
...
of
...
an
...
ExecResponse:
Code Block | ||||
---|---|---|---|---|
| ||||
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<exec:execResponse xmlns:exec="http://servicemix.apache.org/exec">
<started>1241756756376</started>
<finished>1241756756390</finished>
<duration>14</duration>
<exitcode>0</exitcode>
<output><![CDATA[
total 6729
-rw------- 1 jb jb 1693752 2009-04-09 09:07 f9G0lWzx.tar.part
-rw-r--r-- 1 jb jb 8 2009-03-27 18:27 gnome-session-manager
srwxr-xr-x 1 jb jb 0 2009-03-26 10:56 gnome-system-monitor.jb.3619273851
drwxr-xr-x 2 jb jb 1024 2009-04-23 08:43 hsperfdata_jb
drwxr-xr-x 2 jboss java 1024 2009-04-17 12:46 hsperfdata_jboss
drwxr-xr-x 2 weblogic java 1024 2009-04-17 09:40 hsperfdata_weblogic
-rw-r--r-- 1 jb jb 870 2009-03-26 10:59 jbi12672.zip
-rw-r--r-- 1 jb jb 870 2009-03-26 10:59 jbi12673.zip
]]></output>
<error><![CDATA[
]]></error>
</exec:execResponse>
|
Endpoint
The Exec endpoint can be very simple, waiting for command contained in the in message:
Code Block | ||||
---|---|---|---|---|
| ||||
{code:xml}
h2. Endpoint
The Exec endpoint can be very simple, waiting for command contained in the in message:
{code:xml}
<beans xmlns="http://servicemix.apache.org/exec/1.0"
xmlns:test="http://test">
<exec:endpoint service="test:MyService"
endpoint="MyExec"/>
</beans>
|
...