summaryrefslogtreecommitdiffstats
path: root/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-06-01 19:04:29 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-06-01 19:04:29 +0000
commitea4011cbd776247ede7d6eab480987a5ef154a0e (patch)
tree1d4dd60303bf97df1752a7aa19af06cede9d3143 /sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution
parent61d2cb0a9d78820f6a92c7eab1d581903c5116d4 (diff)
Change the wsdl to use anonymous types to work around a JAXB schema generation issue (adding nillable to root elements)
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@780785 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution')
-rw-r--r--sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/main/resources/CreditCardPayment.wsdl46
-rw-r--r--sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/test/java/payment/creditcard/CreditCardPaymentTestCase.java28
2 files changed, 48 insertions, 26 deletions
diff --git a/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/main/resources/CreditCardPayment.wsdl b/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/main/resources/CreditCardPayment.wsdl
index dbf89924cc..6dcc619c48 100644
--- a/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/main/resources/CreditCardPayment.wsdl
+++ b/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/main/resources/CreditCardPayment.wsdl
@@ -7,43 +7,47 @@
* 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.
+ * under the License.
-->
-<wsdl:definitions name="CreditCardPayment"
+<wsdl:definitions name="CreditCardPayment"
targetNamespace="http://www.tuscanyscatours.com/CreditCardPayment/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:tns="http://www.tuscanyscatours.com/CreditCardPayment/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://www.tuscanyscatours.com/CreditCardPayment/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
<wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.tuscanyscatours.com/CreditCardPayment/"
xmlns:tns="http://www.tuscanyscatours.com/CreditCardPayment/">
-
- <xsd:element name="authorize" type="tns:AuthorizeType"/>
- <xsd:complexType name="AuthorizeType">
+
+ <!-- https://jaxb.dev.java.net/issues/show_bug.cgi?id=518 -->
+ <!-- I have to change the complex types to be annoymous -->
+ <xsd:element name="authorize">
+ <xsd:complexType>
<xsd:sequence>
<xsd:element name="CreditCard" type="tns:CreditCardDetailsType"></xsd:element>
<xsd:element name="Amount" type="xsd:float"></xsd:element>
</xsd:sequence>
</xsd:complexType>
+ </xsd:element>
- <xsd:element name="authorizeResponse" type="tns:AuthorizeResponseType"/>
- <xsd:complexType name="AuthorizeResponseType">
+ <xsd:element name="authorizeResponse">
+ <xsd:complexType>
<xsd:sequence>
<xsd:element name="Status" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
+ </xsd:element>
<xsd:complexType name="CreditCardDetailsType">
<xsd:sequence>
@@ -78,6 +82,13 @@
<xsd:element name="HomePhone" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
+ <xsd:element name="authorizeFault">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="errorCode" type="xsd:string"></xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="AuthorizeRequest">
@@ -86,10 +97,14 @@
<wsdl:message name="AuthorizeResponse">
<wsdl:part name="parameters" element="tns:authorizeResponse"></wsdl:part>
</wsdl:message>
+ <wsdl:message name="AuthorizeFault">
+ <wsdl:part name="parameters" element="tns:authorizeFault"></wsdl:part>
+ </wsdl:message>
<wsdl:portType name="CreditCardPayment">
<wsdl:operation name="authorize">
<wsdl:input message="tns:AuthorizeRequest"></wsdl:input>
<wsdl:output message="tns:AuthorizeResponse"></wsdl:output>
+ <wsdl:fault name="authorizationFailure" message="tns:AuthorizeFault"></wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CreditCardPaymentBinding" type="tns:CreditCardPayment">
@@ -102,6 +117,9 @@
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
+ <wsdl:fault name="authorizationFailure">
+ <soap:fault name="authorizationFailure" use="literal"/>
+ </wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CreditCardPaymentService">
@@ -109,8 +127,8 @@
<soap:address location="http://localhost:8080/CreditCardPayment" />
</wsdl:port>
</wsdl:service>
-
+
<plnk:partnerLinkType name="CreditCardPaymentLinkType">
<plnk:role name="forward" portType="tns:CreditCardPayment"/>
- </plnk:partnerLinkType>
+ </plnk:partnerLinkType>
</wsdl:definitions> \ No newline at end of file
diff --git a/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/test/java/payment/creditcard/CreditCardPaymentTestCase.java b/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/test/java/payment/creditcard/CreditCardPaymentTestCase.java
index 30fe2ca3da..5beca2ddb0 100644
--- a/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/test/java/payment/creditcard/CreditCardPaymentTestCase.java
+++ b/sandbox/travelsample/contributions/creditcard-payment-jaxb-contribution/src/test/java/payment/creditcard/CreditCardPaymentTestCase.java
@@ -6,15 +6,15 @@
* 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.
+ * under the License.
*/
package payment.creditcard;
@@ -29,7 +29,7 @@ import org.junit.Ignore;
import org.junit.Test;
/**
- *
+ *
*/
public class CreditCardPaymentTestCase {
private static SCANode node;
@@ -40,30 +40,34 @@ public class CreditCardPaymentTestCase {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
try {
- node = SCANodeFactory.newInstance().createSCANode(null,
+ node = SCANodeFactory.newInstance().createSCANode(null,
new SCAContribution("creditcard", "./target/classes"));
-
+
node.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
-
+
@Test
public void testCreditCardPayment() {
SCAClient client = (SCAClient) node;
CreditCardPayment cc = client.getService(CreditCardPayment.class, "CreditCardPaymentComponent/CreditCardPayment");
-
+
ObjectFactory objectFactory = new ObjectFactory();
CreditCardDetailsType ccDetails = objectFactory.createCreditCardDetailsType();
ccDetails.setCreditCardType(CreditCardTypeType.fromValue("Visa"));
PayerType ccOwner = objectFactory.createPayerType();
ccOwner.setName("Fred");
ccDetails.setCardOwner(ccOwner);
-
- System.out.println(cc.authorize(ccDetails, 100.00f));
+
+ try {
+ System.out.println(cc.authorize(ccDetails, 100.00f));
+ } catch (AuthorizeFault_Exception e) {
+ System.err.println("Fault: " + e.getFaultInfo().getErrorCode());
+ }
}
-
+
@Test
@Ignore
public void testWaitForInput() {
@@ -73,7 +77,7 @@ public class CreditCardPaymentTestCase {
} catch (Exception ex) {
}
System.out.println("Shutting down");
- }
+ }
/**
* @throws java.lang.Exception