Essentially the same procedure, from a development perspective, as in 10g -
but under the hood we're using the 11g Infrastructure layer.
The Oracle documentation can be found at
http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_java.htm#BABCBEJJ
Here's a simple example based on WSDL Java binding, later posts will cover bpel:exec etc. -
1. Create a generic Application/Project in Jdev 11g
1.1. Add 2 classes - Cust & Greeting
Cust -
package cccwsif;
public class Cust {
private String custName1;
private String custName2;
private String custXMASgreeting;
public Cust() {
super();
}
public void setCustName1(String custName1) {
this.custName1 = custName1;
}
public String getCustName1() {
return custName1;
}
public void setCustName2(String custName2) {
this.custName2 = custName2;
}
public String getCustName2() {
return custName2;
}
public void setCustXMASgreeting(String custXMASgreeting) {
this.custXMASgreeting = custXMASgreeting;
}
public String getCustXMASgreeting() {
return custXMASgreeting;
}
}
Greeting -
package cccwsif;
public class Greeting {
public Greeting() {
super();
}
public Cust XMASgreet(Cust c){
String g = "Happy Christmas " + c.getCustName1() + " " +
c.getCustName2();
c.setCustXMASgreeting(g);
return c;
}
}
1.2. expose Greeting as a Web Service
1.2.1. Right-mouse click on Greeting
1.2.2. Then select "Create Web Service..."
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkebSn46VJSxSNqYckbtwyta_9B6fZoBtggPfLvuo_auHOmaQWoNVd3wkyWYrtLn-ZJlQGsXWthqJVUWvLT6vzGC93vl75X4KohkOBLXRCzcMe7cpHqIEeieG3MDGKZJeje2NYFQ/s400/aa.jpg)
1.2.3. Accept defaults for all steps up until step 9.
1.2.4. Additional Classes --> Include "Cust" class
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYdHai6Rcl-Q59IyaDXRDAry4CFCPBsivCFNX-d3LObo02A0Zh4Hx2Zme5y9sdaduySzZCniZeOzCYIhRk9opt_ky3pRSglefN3V0s-M8R1MegO0CofmN78WdwqXlN0SmTBeNE0w/s400/bb.jpg)
1.2.5. open the wsdl file and set nillable=false
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOtqvdxL_YEoTHN6a1puhuDRFeUV5dI6mBvJe2X2o1cga3RstqMjGb_3rDVx8IlSD_QDgSwB3q1P4zMjNQGvmHZ57hCMh-D6V4tLd_50zgIH2SE1KLDu8c_209XyqSfJ0jbqxRPA/s400/cc.jpg)
1.2.6. open the GreetingService-java-wsdl-mapping.xml file
1.2.7. check the mapping order
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggq0n5_YCHjL9x9G5kCpY8RMBGHTge5nd82jHtadatApgY9qR1_ov8k4AIzcXXxZdxMnNxV76xM_p0TEKUZT45W6r6SNpYPbEru7Xx_JgHkfepVeILgt0Rdl8eqYcULzGxMMmDTA/s400/dd.jpg)
1.3. Add the Java Binding to the WSDL
1.3.1. Open the wsdl in "Design" mode
1.3.2. Click the + by Bindings
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcFi3pcQOpSZOPBBQcPw8ddBw-1RdjuUQT2iv9oKJWc-RjfJOTfLMt5ZBToWSokMX2bifANioiHxoKjJtKaMvpt2KY2T4GjCDHtRqEV9P7O-WUJaeUoF2lxchN6LPQpbdxEY83sA/s400/ee.jpg)
1.3.3. Click the Map button
1.3.4. select the Cust class
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8IA4CyBTOS-DQgfRteCLbG4VC2MOF7ruTCNAari6vbpiPXP9q5ZH4MNITuzZW8qolx7yDLATQiwG9vSeGdIOyFQ2uWU5lc-pRpRdTk-7t3YMCSrMXtOS_lSwh-66Fp_BWxVcH9w/s400/ff.jpg)
1.3.5. Amend the Service entry in the WSDL as follows -
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjogBtArAYyZ-yv8Ua34T0-lsJytRMVMSt_u2tAUIjHV6r1HiEHOffn8SIjP1apYc5hY7LUzJkZR09DHpTsz1zERZ-wA5zFG9xzJcb_wOMVMZtOXxGYNcAd_KpfgY39OwZBn66DaA/s400/gg.jpg)
1.4.1. File --> New --> Deployment Profile --> Jar
1.4.2. Deploy to Jar
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXX2a4SWqM0PVH8Qdj-U_POJ7n_S9FVr-Sn8RHkX2yVuZKC95DkaHVP_1p_pbEQGlmXDmpMY85KtFlclOnqI0zJR9GlkCM9FTUO-_eirQ2rhnIbidq11O71vwTOj-GWZi26lMnVQ/s400/hh.jpg)
2. Create a SOA App in JDev 11g
2.1. Copy the WSDL into the project
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgXMqNYTfyLnm3sQvyWLiaKpH3lAtzUohfmKdZsRMcFfAwpY2IIZ555N7gKBmDsQuVCB3WqnmltE_BmzUOGlMn9KLosyePY6gvzKawheZvqozL1Oz5ClUtZpt-znKply9G4pFSfg/s400/ii.jpg)
2.2. Drop a BPEL service component onto the designer
2.2.1. Set input / output as follows -
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqQkGxbcfABRuZ8fSl4YUo-a4qTLGdiTpGULzuck3hQYpsINYrq26dvI3cZpkN1OTu_sXO1GCegi8oOB19Ggq4bZg6-tRLH8nlUDBDJyV6oYWsHA-DvmDN6x3FT_27avTCgiXrzA/s400/jj.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwASAyHOGNaPrCFY3MvpC37N6ZembNrzN9paPPu2cuKDErmPtTZxTs2PbU9vPNmy7fashj0x3Yc7LCawf0gQbE8ER9DPQ-ImPlJh3S8aCKOLGnlYE1TfkuNVapFSe2upDMAq_JlA/s400/kk.jpg)
2.3. Add a partner Link to the process, pointing to the imported WSDL
2.3.1. Add Assign - Invoke - Assign Activities
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ0knVsIDE0utHRi6kO6qkuCDwzI79iib2MKjxSmpHwgeSqonTd-dYPsSP2Irs5mUBGZeJExDip4eH_P70ru_ZphWCVREHceDolubJbAUKLPkiPwcpjN27JNKyzhgAgrvzcIMzwg/s400/ll.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis98g8tHZ6GBzSoFa1xrCckeYCWU4OueobcgIOO64cwUyO2XfCzAgLO_OHewWwipSS1579r9SR2laeyjl42Hb0s2pRP2NgaM-fiCPim8L_24S7PywYdL6D0RPHpPEBDPf0NSs3BQ/s400/mm.jpg)
2.3.2 Assign input / output vars in the 2 Assigns
2.4. Copy the Jar file from the previous project to the SOA Project sca-inf\lib directory
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU6wH6vZccZ0eTfojaqMEQlrytW31gE_LO7I2fBqIRBIE2R0OHS95zcTsarNeriXGuo7uBTiMvTdwsHVEYrAb93gNtNUFdOQAZMT0wBaP5ZQowYkY4PGsiNTEWc7nvjdy6X0oOqw/s400/nn.jpg)
2.5. Deploy the SOA App
3 Test
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwHDXnkiZyYRUU1YWfofCkCcLMgzOIlmb8Y_Er4XZZ7SbA8wJU5xziNkhbapELQa1Ub8PwiNK2xdL7g12qcJz1zPOK_Y3e9v8Z7rOjmlFvN-23bqEygvNSxEtS2wSRhAqbxkPEcA/s400/oo.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaKOYlu0ZaRbhFVHyjUqoNHgeriBIPeIf-TPBxx1gVd-AQGC8_GGTPRs005fIfQ9wzNFGkltoCewC-cmNHUJQiGUa7_tkiH-jMFTwVN1IB7be4vkIeIcEcf-3sNniv53D5vvZaOw/s400/pp.jpg)