diff options
Diffstat (limited to 'sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main')
6 files changed, 507 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanApplication.java b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanApplication.java new file mode 100644 index 0000000000..68564f1376 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanApplication.java @@ -0,0 +1,35 @@ +/*
+ * 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.
+ */
+package loanappconversation;
+
+public class LoanApplication {
+
+ private String customerName;
+ private float loanAmount;
+
+ public LoanApplication(String customerName, float loanAmount) {
+ this.customerName = customerName;
+ this.loanAmount = loanAmount;
+ }
+
+ public String toString() {
+ return "[Customer: " + customerName + ", loan amount: "
+ + loanAmount + "]";
+ }
+}
diff --git a/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanService.java b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanService.java new file mode 100644 index 0000000000..4156c2e72e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanService.java @@ -0,0 +1,40 @@ +/*
+ * 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.
+ */
+package loanappconversation;
+
+import org.osoa.sca.annotations.AllowsPassByReference;
+import org.osoa.sca.annotations.EndConversation;
+import org.osoa.sca.annotations.OneWay;
+import org.osoa.sca.annotations.Remotable;
+import org.osoa.sca.annotations.Scope;
+
+@Scope("CONVERSATION")
+@Remotable
+@AllowsPassByReference // bypasses the PassByValueIntercept error.
+public interface LoanService {
+ //prim void apply(LoanApplication application);
+ void apply(String customerName, float loanAmount);
+ void lockCurrentRate(int termInYears);
+ @OneWay
+ void cancelApplication();
+ String getLoanStatus();
+ String display();
+ @EndsConversation
+ void close();
+}
diff --git a/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanServiceImpl.java b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanServiceImpl.java new file mode 100644 index 0000000000..c0c7d9a455 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/java/loanappconversation/LoanServiceImpl.java @@ -0,0 +1,69 @@ +/*
+ * 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.
+ */
+package loanappconversation;
+
+import org.osoa.sca.annotations.AllowsPassByReference;
+import org.osoa.sca.annotations.Remotable;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
+@Scope("CONVERSATION")
+@AllowsPassByReference // bypasses the PassByValueIntercept error.
+@Remotable
+@Service(LoanService.class)
+public class LoanServiceImpl implements LoanService {
+
+ private LoanApplication application;
+ private String status;
+ private int termLocked = 0;
+
+ private void apply(LoanApplication application) {
+ this.application = application;
+ status = "open";
+ }
+ //prim
+ public void apply(String customerName, float loanAmount) {
+ apply(new LoanApplication(customerName, loanAmount));
+
+ }
+
+ public void lockCurrentRate(int termInYears) {
+ termLocked = termInYears;
+ status = "locked";
+ }
+
+ public void cancelApplication() {
+ status = "cancelled";
+ }
+
+ public String getLoanStatus() {
+ return status;
+ }
+
+ public String display() {
+ return "Loan application: " + application + ", term: "
+ + termLocked + ", status: " + status;
+ }
+
+ public void close() {
+ this.application = null;
+ this.status = "closed";
+ }
+
+}
diff --git a/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/resources/wsdl/loanappconversation.wsdl b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/resources/wsdl/loanappconversation.wsdl new file mode 100644 index 0000000000..6822aa8c5d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/resources/wsdl/loanappconversation.wsdl @@ -0,0 +1,271 @@ +<?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 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:loanservice="http://www.loanappconversation.com/loanservice"
+ targetNamespace="http://www.loanappconversation.com/loanservice"
+ name="LoanService">
+
+ <wsdl:types>
+ <xsd:schema targetNamespace="http://www.loanappconversation.com/loanservice"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:loanservice="http://www.loanappconversation.com/loanservice"
+ >
+
+
+ <xsd:element name="apply">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerName"
+ type="xsd:string" />
+ <xsd:element name="loanAmount"
+ type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="applyResponse">
+ <xsd:complexType/>
+ </xsd:element>
+<!--
+ <xsd:complexType name="LoanApplication">
+ <xsd:sequence>
+ <xsd:element name="customerName"
+ type="xsd:string" />
+ <xsd:element name="loanAmount"
+ type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+-->
+
+ <xsd:element name="lockCurrentRate">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="termInYears" type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:element name="lockCurrentRateResponse">
+ <xsd:complexType/>
+ </xsd:element>
+
+ <xsd:element name="cancelApplication">
+ <xsd:complexType/>
+ </xsd:element>
+
+ <xsd:element name="getLoanStatus">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="getLoanStatusResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="getLoanStatusReturn" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="display">
+ <xsd:complexType/>
+ </xsd:element>
+
+
+ <xsd:element name="displayResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="displayReturn"
+ type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:element name="close">
+ <xsd:complexType/>
+ </xsd:element>
+
+ <xsd:element name="closeResponse">
+ <xsd:complexType/>
+ </xsd:element>
+
+
+ </xsd:schema>
+ </wsdl:types>
+
+
+ <wsdl:message name="applyRequest">
+ <wsdl:part element="loanservice:apply"
+ name="applyRequest" />
+ </wsdl:message>
+ <wsdl:message name="applyResponse">
+ <wsdl:part element="loanservice:applyResponse"
+ name="applyResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="lockCurrentRateRequest">
+ <wsdl:part element="loanservice:lockCurrentRate"
+ name="lockCurrentRate" />
+ </wsdl:message>
+ <wsdl:message name="lockCurrentRateResponse">
+ <wsdl:part element="loanservice:lockCurrentRateResponse"
+ name="lockCurrentRateResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="cancelApplicationRequest">
+ <wsdl:part element="loanservice:cancelApplication" name="cancelApplicationRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="getLoanStatusRequest">
+ <wsdl:part element="loanservice:getLoanStatus" name="getLoanStatusRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="getLoanStatusResponse">
+ <wsdl:part element="loanservice:getLoanStatusResponse"
+ name="getLoanStatusResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="displayRequest">
+ <wsdl:part element="loanservice:display"
+ name="displayRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="displayResponse">
+ <wsdl:part element="loanservice:displayResponse"
+ name="displayResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="closeRequest">
+ <wsdl:part element="loanservice:close" name="closeRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="closeResponse">
+ <wsdl:part element="loanservice:close" name="closeResponse" />
+ </wsdl:message>
+
+
+ <wsdl:portType name="LoanService">
+ <wsdl:operation name="apply">
+ <wsdl:input message="loanservice:applyRequest" />
+ <wsdl:output message="loanservice:applyResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="lockCurrentRate">
+ <wsdl:input message="loanservice:lockCurrentRateRequest" />
+ <wsdl:output message="loanservice:lockCurrentRateResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="cancelApplication">
+ <wsdl:input message="loanservice:cancelApplicationRequest" />
+ </wsdl:operation>
+
+ <wsdl:operation name="getLoanStatus">
+ <wsdl:input message="loanservice:getLoanStatusRequest" />
+ <wsdl:output message="loanservice:getLoanStatusResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="display">
+ <wsdl:input message="loanservice:displayRequest" />
+ <wsdl:output message="loanservice:displayResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="close">
+ <wsdl:input message="loanservice:closeRequest" />
+ <wsdl:output message="loanservice:closeResponse" />
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+
+ <wsdl:binding name="LoanServiceSOAP" type="loanservice:LoanService">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="apply">
+ <soap:operation
+ soapAction="http://www.loanappconversation.com/loanservice/apply" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="lockCurrentRate">
+ <soap:operation
+ soapAction="http://www.loanappconversation.com/loanservice/lockCurrentRate" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="cancelApplication">
+ <soap:operation
+ soapAction="http://www.loanappconversation.com/loanservice/cancelApplication" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ </wsdl:operation>
+
+ <wsdl:operation name="getLoanStatus">
+ <soap:operation
+ soapAction="http://www.loanappconversation.com/loanservice/getLoanStatus" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="display">
+ <soap:operation
+ soapAction="http://www.loanappconversation.com/loanservice/display" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="close">
+ <soap:operation
+ soapAction="http://www.loanappconversation.com/loanservice/close" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+
+ </wsdl:binding>
+ <wsdl:service name="LoanService">
+ <wsdl:port binding="loanservice:LoanServiceSOAP"
+ name="LoanServiceSOAP">
+ <soap:address
+ location="http://localhost:8080/sample-loanappconversationWS/services/LoanService" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/webapp/WEB-INF/default.scdl b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/webapp/WEB-INF/default.scdl new file mode 100644 index 0000000000..a35af74047 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/webapp/WEB-INF/default.scdl @@ -0,0 +1,41 @@ +<?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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="simplecallback">
+
+
+ <service name="LoanService" >
+ <interface.java interface="loanappconversation.LoanService" scope="conversational" />
+ <!--
+ <interface.wsdl interface="http://www.loanappconversation.com/loanservice#wsdl.interface(LoanService)"
+ wsdli:wsdlLocation="http://www.loanappconversation.com/loanservice wsdl/loanappconversation.wsdl" />
+
+-->
+
+ <binding.ws endpoint="http://www.loanappconversation.com/loanservice#wsdl.endpoint(LoanService/LoanServiceSOAP)"
+ conformanceURIs="http://ws-i.org/profiles/basic/1.1" location="wsdl/loanappconversation.wsdl" />
+
+ <reference>LoanServiceComponent</reference>
+ </service>
+
+ <component name="LoanServiceComponent">
+ <implementation.java class="loanappconversation.LoanServiceImpl"/>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/webapp/WEB-INF/web.xml b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..6449f9d232 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-integration/sca/extensions/axis2/samples/loanapplication-ws/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,51 @@ +<?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.
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
+Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <display-name>A sample implementation of a loan application conversation web service.</display-name>
+
+
+ <context-param>
+ <param-name>tuscany.online</param-name>
+ <param-value>true</param-value>
+ </context-param>
+
+
+ <listener>
+ <listener-class>org.apache.tuscany.runtime.webapp.TuscanyContextListener</listener-class>
+ </listener>
+
+ <servlet>
+ <servlet-name>TuscanyServlet</servlet-name>
+ <display-name>Tuscany Servlet</display-name>
+ <servlet-class>org.apache.tuscany.runtime.webapp.TuscanyServlet</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>TuscanyServlet</servlet-name>
+ <url-pattern>/*</url-pattern>
+
+ </servlet-mapping>
+
+
+</web-app>
|