diff options
Diffstat (limited to 'sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources')
9 files changed, 635 insertions, 0 deletions
diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join.xq b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join.xq new file mode 100644 index 0000000000..d504f40f04 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join.xq @@ -0,0 +1,61 @@ +(:
+ * 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.
+:)
+
+declare namespace quoteJoin="scaservice:java/xquery.quote.QuoteJoin";
+
+declare namespace quoteCalculator="scareference:java/xquery.quote.QuoteCalculator";
+
+declare namespace quo="http://www.example.org/quote";
+
+declare variable $quoteCalculator external;
+
+declare function quoteJoin:joinPriceAndAvailQuotes($priceQuoteDoc, $availQuoteDoc, $taxRate) {
+<quo:quote>
+ <quo:name>{ data($priceQuoteDoc/*/customerName) }</quo:name>
+ <quo:address>{ concat($priceQuoteDoc/*/shipAddress/@street , ",", $priceQuoteDoc/*/shipAddress/@city ,",", fn:upper-case($priceQuoteDoc/*/shipAddress/@state) , ",", $priceQuoteDoc/*/shipAddress/@zip) }</quo:address>
+ {
+ for $priceRequest in $priceQuoteDoc/*/priceRequests/priceRequest,
+ $availRequest in $availQuoteDoc/*/availRequest
+ where data($priceRequest/widgetId) = data($availRequest/widgetId)
+ return
+ <quo:quoteResponse>
+ <quo:widgetId>{ data($priceRequest/widgetId) }</quo:widgetId>
+ <quo:unitPrice>{ data($priceRequest/price) }</quo:unitPrice>
+ <quo:requestedQuantity>{ data($availRequest/requestedQuantity) }</quo:requestedQuantity>
+ <quo:fillOrder>{ data($availRequest/quantityAvail) }</quo:fillOrder>
+ {
+ for $shipDate in $availRequest/shipDate
+ return
+ <quo:shipDate>{ data($shipDate) }</quo:shipDate>
+ }
+ <quo:taxRate>{ $taxRate }</quo:taxRate>
+ <quo:totalCost>{ quoteCalculator:calculateTotalPrice(
+ $quoteCalculator,
+
+ xs:float($taxRate),
+
+ $availRequest/requestedQuantity,
+
+ $priceRequest/price,
+
+ $availRequest/quantityAvail) }</quo:totalCost>
+ </quo:quoteResponse>
+ }
+ </quo:quote>
+};
diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq new file mode 100644 index 0000000000..cc50da164a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_external_references.xq @@ -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. +:) +declare namespace quoteJoin="scaservice:java/xquery.quote.ExternalReferencesQuoteJoin"; + +declare namespace quoteCalculator="scareference:java/xquery.quote.QuoteCalculator"; + +declare namespace priceQuoteProvider="scareference:java/xquery.quote.PriceQuoteProviderNodeInfo"; +declare namespace availQuoteProvider="scareference:java/xquery.quote.AvailQuoteProviderNodeInfo"; + +declare namespace quo="http://www.example.org/quote"; + +declare variable $quoteCalculator external; + +declare variable $priceQuoteProvider external; +declare variable $availQuoteProvider external; + +declare function quoteJoin:joinPriceAndAvailQuotes($taxRate) { +let $priceQuoteDoc := priceQuoteProvider:providePriceQuote($priceQuoteProvider) +let $availQuoteDoc := availQuoteProvider:provideAvailQuote($availQuoteProvider, 'dummy') +return +<quo:quote> + <quo:name>{ data($priceQuoteDoc/priceQuote/customerName) }</quo:name> + <quo:address>{ concat($priceQuoteDoc/priceQuote/shipAddress/@street , ",", $priceQuoteDoc/priceQuote/shipAddress/@city ,",", fn:upper-case($priceQuoteDoc/priceQuote/shipAddress/@state) , ",", $priceQuoteDoc/priceQuote/shipAddress/@zip) }</quo:address> + { + for $priceRequest in $priceQuoteDoc/priceQuote/priceRequests/priceRequest, + $availRequest in $availQuoteDoc/availQuote/availRequest + where data($priceRequest/widgetId) = data($availRequest/widgetId) + return + <quo:quoteResponse> + <quo:widgetId>{ data($priceRequest/widgetId) }</quo:widgetId> + <quo:unitPrice>{ data($priceRequest/price) }</quo:unitPrice> + <quo:requestedQuantity>{ data($availRequest/requestedQuantity) }</quo:requestedQuantity> + <quo:fillOrder>{ data($availRequest/quantityAvail) }</quo:fillOrder> + { + for $shipDate in $availRequest/shipDate + return + <quo:shipDate>{ data($shipDate) }</quo:shipDate> + } + <quo:taxRate>{ $taxRate }</quo:taxRate> + <quo:totalCost>{ quoteCalculator:calculateTotalPrice( + $quoteCalculator, + + $taxRate, + + $availRequest/requestedQuantity, + + $priceRequest/price, + + $availRequest/quantityAvail) }</quo:totalCost> + </quo:quoteResponse> + } + </quo:quote> +}; diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_properties.xq b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_properties.xq new file mode 100644 index 0000000000..cf41ab528d --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/META-INF/sca/quote_join_properties.xq @@ -0,0 +1,74 @@ +(: + * 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. +:) + +declare namespace quoteJoin="scaservice:java/xquery.quote.PropertiesQuoteJoin"; + +declare namespace quoteCalculator="scareference:java/xquery.quote.QuoteCalculator"; + +declare namespace priceQuoteDoc="scaproperty:xml/http://www.example.org/price:priceQuote"; +declare namespace availQuoteDoc="scaproperty:xml/http://www.example.org/avail:availQuote"; +declare namespace taxRate="scaproperty:java/java.lang.Float"; + +declare namespace pri="http://www.example.org/price"; +declare namespace ava="http://www.example.org/avail"; +declare namespace quo="http://www.example.org/quote"; + +declare variable $quoteCalculator external; + +declare variable $priceQuoteDoc external; +declare variable $availQuoteDoc external; +declare variable $taxRate external; + +declare function quoteJoin:joinPriceAndAvailQuotes() { +<quo:quote> + <quo:name>{ data($priceQuoteDoc/pri:priceQuote/customerName) }</quo:name> + <quo:address>{ concat($priceQuoteDoc/pri:priceQuote/shipAddress/@street , ",", + $priceQuoteDoc/pri:priceQuote/shipAddress/@city ,",", + fn:upper-case($priceQuoteDoc/pri:priceQuote/shipAddress/@state) , ",", + $priceQuoteDoc/pri:priceQuote/shipAddress/@zip) }</quo:address> + { + for $priceRequest in $priceQuoteDoc/pri:priceQuote/priceRequests/priceRequest, + $availRequest in $availQuoteDoc/ava:availQuote/availRequest + where data($priceRequest/widgetId) = data($availRequest/widgetId) + return + <quo:quoteResponse> + <quo:widgetId>{ data($priceRequest/widgetId) }</quo:widgetId> + <quo:unitPrice>{ data($priceRequest/price) }</quo:unitPrice> + <quo:requestedQuantity>{ data($availRequest/requestedQuantity) }</quo:requestedQuantity> + <quo:fillOrder>{ data($availRequest/quantityAvail) }</quo:fillOrder> + { + for $shipDate in $availRequest/shipDate + return + <quo:shipDate>{ data($shipDate) }</quo:shipDate> + } + <quo:taxRate>{ $taxRate }</quo:taxRate> + <quo:totalCost>{ quoteCalculator:calculateTotalPrice( + $quoteCalculator, + + $taxRate, + + $availRequest/requestedQuantity, + + $priceRequest/price, + + $availRequest/quantityAvail) }</quo:totalCost> + </quo:quoteResponse> + } + </quo:quote> +}; diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/AvailQuote.xsd b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/AvailQuote.xsd new file mode 100644 index 0000000000..e7f3e67068 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/AvailQuote.xsd @@ -0,0 +1,39 @@ +<?xml version="1.0"?>
+<!--
+ * 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.
+-->
+<xsd:schema targetNamespace="http://www.example.org/avail" xmlns:ava="http://www.example.org/avail" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"> + <xsd:element name="availQuote" type="ava:AvailQuote"/>
+ <xsd:complexType name="AvailRequest">
+ <xsd:sequence>
+ <xsd:element name="widgetId" type="xsd:integer"/>
+ <xsd:element name="requestedQuantity" type="xsd:int"/>
+ <xsd:element name="quantityAvail" type="xsd:boolean"/>
+ <xsd:element name="shipDate" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="AvailQuote">
+ <xsd:sequence>
+ <xsd:element name="availRequest" type="ava:AvailRequest" minOccurs="1" maxOccurs="10">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
+
+
+
diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/PriceQuote.xsd b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/PriceQuote.xsd new file mode 100644 index 0000000000..4c437586ef --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/PriceQuote.xsd @@ -0,0 +1,49 @@ +<?xml version="1.0"?> +<!-- + * 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. +--> +<xsd:schema targetNamespace="http://www.example.org/price" xmlns:pri="http://www.example.org/price" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"> + <xsd:element name="priceQuote" type="pri:PriceQuote"/> + <xsd:complexType name="PriceRequest"> + <xsd:sequence> + <xsd:element name="widgetId" type="xsd:integer"/> + <xsd:element name="price" type="xsd:float"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="PriceRequests"> + <xsd:sequence> + <xsd:element name="priceRequest" type="pri:PriceRequest" minOccurs="1" maxOccurs="10"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="ShipAddress"> + <xsd:attribute name="street" type="xsd:string"/> + <xsd:attribute name="city" type="xsd:string"/> + <xsd:attribute name="state" type="xsd:string"/> + <xsd:attribute name="zip" type="xsd:string"/> + </xsd:complexType> + <xsd:complexType name="PriceQuote"> + <xsd:sequence> + <xsd:element name="customerName" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="shipAddress" type="pri:ShipAddress" minOccurs="1" maxOccurs="1"/> + <xsd:element name="priceRequests" type="pri:PriceRequests"/> + </xsd:sequence> + </xsd:complexType> +</xsd:schema> + + + diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/Quote.xsd b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/Quote.xsd new file mode 100644 index 0000000000..4f64850056 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/Quote.xsd @@ -0,0 +1,40 @@ +<?xml version="1.0"?>
+<!--
+ * 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.
+-->
+<xsd:schema targetNamespace="http://www.example.org/quote" xmlns:quo="http://www.example.org/quote" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
+ <xsd:element name="quote" type="quo:Quote"/>
+ <xsd:complexType name="Quote">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="address" type="xsd:string"/>
+ <xsd:element name="quoteResponse" type="quo:QuoteResponse" minOccurs="1" maxOccurs="10"/>
+ </xsd:sequence>
+ </xsd:complexType> + <xsd:complexType name="QuoteResponse"> + <xsd:sequence> + <xsd:element name="widgetId" type="xsd:integer"/> + <xsd:element name="unitPrice" type="xsd:float" minOccurs="0" maxOccurs="1"/> + <xsd:element name="requestedQuantity" type="xsd:int"/> + <xsd:element name="fillOrder" type="xsd:boolean"/> + <xsd:element name="shipDate" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="taxRate" type="xsd:float" minOccurs="0" maxOccurs="1"/> + <xsd:element name="totalCost" type="xsd:float" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType>
+</xsd:schema>
diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/quotejoin.wsdl b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/quotejoin.wsdl new file mode 100644 index 0000000000..96c2af138a --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/wsdl/quotejoin.wsdl @@ -0,0 +1,137 @@ +<?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 targetNamespace="http://quote.xquery" xmlns:tns="http://quote.xquery"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ava="http://www.example.org/avail"
+ xmlns:pri="http://www.example.org/price" xmlns:quo="http://www.example.org/quote" name="quotejoin">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified" targetNamespace="http://quote.xquery"
+ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ava="http://www.example.org/avail"
+ xmlns:pri="http://www.example.org/price" xmlns:quo="http://www.example.org/quote">
+
+ <import namespace="http://www.example.org/avail" schemaLocation="AvailQuote.xsd" />
+ <import namespace="http://www.example.org/price" schemaLocation="PriceQuote.xsd" />
+ <import namespace="http://www.example.org/quote" schemaLocation="Quote.xsd" />
+
+ <element name="joinPriceAndAvailQuotes">
+ <complexType>
+ <sequence>
+ <element name="priceQuote" type="pri:PriceQuote" />
+ <element name="availQuote" type="ava:AvailQuote" />
+ <element name="taxRate" type="xsd:float" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="joinPriceAndAvailQuotesResponse">
+ <complexType>
+ <sequence>
+ <element name="joinPriceAndAvailQuotesReturn" type="quo:Quote" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="provideAvailQuote">
+ <complexType>
+ <sequence>
+ <element name="provideAvailQuote" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="provideAvailQuoteResponse">
+ <complexType>
+ <sequence>
+ <element name="provideAvailQuoteReturn" type="ava:AvailQuote" />
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="joinPriceAndAvailQuotesRequest">
+ <wsdl:part element="tns:joinPriceAndAvailQuotes" name="parameters" />
+ </wsdl:message>
+
+ <wsdl:message name="joinPriceAndAvailQuotesResponse">
+ <wsdl:part element="tns:joinPriceAndAvailQuotesResponse" name="parameters" />
+ </wsdl:message>
+
+ <wsdl:portType name="QuoteJoin">
+ <wsdl:operation name="joinPriceAndAvailQuotes">
+ <wsdl:input message="tns:joinPriceAndAvailQuotesRequest" name="joinPriceAndAvailQuotesRequest" />
+ <wsdl:output message="tns:joinPriceAndAvailQuotesResponse" name="joinPriceAndAvailQuotesResponse" />
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="QuoteJoinSoapBinding" type="tns:QuoteJoin">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="joinPriceAndAvailQuotes">
+ <wsdlsoap:operation soapAction="" />
+ <wsdl:input name="joinPriceAndAvailQuotesRequest">
+ <wsdlsoap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="joinPriceAndAvailQuotesResponse">
+ <wsdlsoap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="QuoteJoinService">
+ <wsdl:port binding="tns:QuoteJoinSoapBinding" name="QuoteJoinSoapPort">
+ <wsdlsoap:address location="http://localhost:8085/QuoteJoinService" />
+ </wsdl:port>
+ </wsdl:service>
+
+
+
+ <wsdl:message name="provideAvailQuoteRequest">
+ <wsdl:part element="tns:provideAvailQuote" name="parameters" />
+ </wsdl:message>
+ <wsdl:message name="provideAvailQuoteResponse">
+ <wsdl:part element="tns:provideAvailQuoteResponse" name="parameters" />
+ </wsdl:message>
+
+ <wsdl:portType name="AvailQuoteProvider">
+ <wsdl:operation name="provideAvailQuote">
+ <wsdl:input message="tns:provideAvailQuoteRequest" name="provideAvailQuoteRequest" />
+ <wsdl:output message="tns:provideAvailQuoteResponse" name="provideAvailQuoteResponse" />
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="AvailQuoteProviderSoapBinding" type="tns:AvailQuoteProvider">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="provideAvailQuote">
+ <wsdlsoap:operation soapAction="" />
+ <wsdl:input name="provideAvailQuoteRequest">
+ <wsdlsoap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="provideAvailQuoteResponse">
+ <wsdlsoap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="AvailQuoteProviderService">
+ <wsdl:port binding="tns:AvailQuoteProviderSoapBinding" name="AvailQuoteProviderSoapPort">
+ <wsdlsoap:address location="http://localhost:8085/AvailQuoteProviderService" />
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotews.composite b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotews.composite new file mode 100644 index 0000000000..9e35e2ecb2 --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotews.composite @@ -0,0 +1,55 @@ +<?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" targetNamespace="http://quote.xquery" + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" + xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0" xmlns:xq="http://quote.xquery" + name="xqueryquotews"> + +<!-- + <dbsdo:import.sdo factory="org.example.avail.AvailFactory" /> + <dbsdo:import.sdo factory="org.example.price.PriceFactory" /> + <dbsdo:import.sdo factory="org.example.quote.QuoteFactory" /> + <dbsdo:import.sdo location="wsdl/quotejoin.wsdl" /> + --> + <dbsdo:import.sdo factory="xquery.quote.QuoteFactory"/> + + <component name="QuoteJoinServerComponent"> + <tuscany:implementation.xquery location="META-INF/sca/quote_join.xq" /> + <service name="quoteJoin"> + <interface.java interface="xquery.quote.QuoteJoin" /> + <binding.ws wsdlElement="http://quote.xquery#wsdl.port(QuoteJoinService/QuoteJoinSoapPort)" /> + </service> + <reference name="quoteCalculator" target="QuoteCalculatorServerComponent" /> + </component> + + <component name="QuoteCalculatorServerComponent"> + <implementation.java class="xquery.quote.QuoteCalculatorImpl" /> + </component> + + <component name="AvailQuoteProviderComponent"> + <implementation.java class="xquery.quote.AvailQuoteProviderImpl" /> + <service name="AvailQuoteProviderService"> + <interface.java interface="xquery.quote.AvailQuoteProviderService" /> + <binding.ws + wsdlElement="http://quote.xquery#wsdl.port(AvailQuoteProviderService/AvailQuoteProviderSoapPort)" /> + </service> + </component> + +</composite> diff --git a/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite new file mode 100644 index 0000000000..f078b9ee9f --- /dev/null +++ b/sandbox/sebastien/java/sca-node/samples/quote-xquery/src/main/resources/xqueryquotewsclient.composite @@ -0,0 +1,111 @@ +<?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" targetNamespace="http://quote.xquery/client" + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" xmlns:xq="http://quote.xquery/client" + name="xqueryquotewsclient"> + + <component name="QuoteJoinLocalComponent"> + <implementation.java class="xquery.quote.QuoteJoinLocalImpl" /> + <reference name="quoteJoin" target="QuoteJoinComponent" /> + <reference name="propertiesQuoteJoin" target="QuoteJoinPropertiesComponent" /> + <reference name="externalServicesQuoteJoin" target="QuoteJoinExternalReferencesComponent" /> + </component> + + <component name="QuoteJoinComponent"> + <tuscany:implementation.xquery location="META-INF/sca/quote_join.xq" /> + <reference name="quoteCalculator" target="QuoteCalculatorComponent" /> + </component> + + <component name="QuoteJoinPropertiesComponent"> + <tuscany:implementation.xquery location="META-INF/sca/quote_join_properties.xq" /> + <!-- Reset the default namespace as the sub-elements under pri:priceQuote are + unqualified --> + <property name="priceQuoteDoc"> + <pri:priceQuote xmlns:pri="http://www.example.org/price" xmlns=""> + <customerName>Acme Inc</customerName> + <shipAddress street="12 Springs Rd" city="Morris Plains" state="nj" zip="07960" /> + <priceRequests> + <priceRequest> + <widgetId>12</widgetId> + <price>1.0</price> + </priceRequest> + <priceRequest> + <widgetId>134</widgetId> + <price>34.1</price> + </priceRequest> + <priceRequest> + <widgetId>211</widgetId> + <price>10.0</price> + </priceRequest> + </priceRequests> + </pri:priceQuote> + </property> + <!-- Reset the default namespace as the sub-elements under ava:availQuote are + unqualified --> + + <property name="availQuoteDoc"> + <ava:availQuote xmlns:ava="http://www.example.org/avail" xmlns=""> + <availRequest> + <widgetId>12</widgetId> + <requestedQuantity>10</requestedQuantity> + <quantityAvail>true</quantityAvail> + <shipDate>2003-03-22</shipDate> + </availRequest> + <availRequest> + <widgetId>134</widgetId> + <requestedQuantity>345</requestedQuantity> + <quantityAvail>false</quantityAvail> + <shipDate>BackOrder</shipDate> + </availRequest> + <availRequest> + <widgetId>211</widgetId> + <requestedQuantity>100</requestedQuantity> + <quantityAvail>true</quantityAvail> + <shipDate>2003-04-21</shipDate> + </availRequest> + </ava:availQuote> + </property> + <property name="taxRate">0.1</property> + <reference name="quoteCalculator" target="QuoteCalculatorComponent" /> + </component> + + <component name="QuoteJoinExternalReferencesComponent"> + <tuscany:implementation.xquery location="META-INF/sca/quote_join_external_references.xq" /> + <reference name="quoteCalculator" target="QuoteCalculatorComponent" /> + <reference name="priceQuoteProvider" target="PriceQuoteProviderComponent" /> + </component> + + <component name="QuoteCalculatorComponent"> + <implementation.java class="xquery.quote.QuoteCalculatorImpl" /> + </component> + + <component name="PriceQuoteProviderComponent"> + <implementation.java class="xquery.quote.PriceQuoteProviderImpl" /> + </component> + + <reference name="availQuoteProvider" promote="QuoteJoinExternalReferencesComponent/availQuoteProvider"> + <interface.java interface="xquery.quote.AvailQuoteProviderService" /> + <binding.ws wsdlElement="http://quote.xquery#wsdl.port(AvailQuoteProviderService/AvailQuoteProviderSoapPort)" /> + </reference> + <reference name="quoteJoinWs" promote="QuoteJoinLocalComponent/quoteJoinWs"> + <interface.java interface="xquery.quote.QuoteJoin" /> + <binding.ws wsdlElement="http://quote.xquery#wsdl.port(QuoteJoinService/QuoteJoinSoapPort)" /> + </reference> +</composite> |