The following blog shows how to create and deploy a SOAP 1.2 based webservice in Glassfish v2 using Netbeans6.0Download and install Netbeans 6.0 from here. Click on File->New Project
Choose Web ->WebApplication
newProject.jpg

Next provide the name of the Web application
choose the Java EE version as Java EE 5

projectName.jpg

Click on Finish

Next in the Projects tab you will see EchoTest
Right Click on EchoTest and create New WebService

newWebService.jpg

Click Finish

Next we add operations to the service

Click the source tab in the center pane you will see the Echo.java source code

Add the following operation to the source code (This can be done by right clicking Webservices->EchoService->AddOperation)

 * Web service operation
 @WebMethod(operationName = "echoString"
 public String echoString( @WebParam(name = "parameter") String parameter) {
     return "hello" + parameter;
 }
Add the following annotation 
@javax.xml.ws.BindingType(value="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/"   
)
The above is important because the default binding supported by JAXWS 2.0 is SOAP 1.1 over HTTP.


 

This is how the source code looks

sourcecode.jpg

Right Click on EchoTest project
Do Clean and Build
Do Undeploy and Deploy
You will see the service is deployed at
http://localhost:8080/EchoTest/EchoService?wsdl

Next  step build a client

File -> New Project -> Web Application (Same as fig 1)

Name the project as EchoClient


echoclienttest.jpg

Click Finish
Right click on EchoClientTest and click New Webservice Client

Specify the wsdllocation as shown
clientfromwsdl.jpg

Click Finish

Next expand  EchoClientTest->WebServiceReferences->EchoService->EchoService->EchoPort->echoString


expandwebservicerefs.jpg

Drag echoString and drop after line <h2>

This is how the jsp will look client.jpg Next Right click and call Run the EchoClientTest This is what you see when you call http://localhost:8080/EchoClientTest/ 

Hello World!


Result = hello John Doe
Advanced Tip If you want to see the soap messages add the following line in GF/domains/domain1/confiig/domain.xml in java-config element 
<jvm-options>-Dcom.sun.xml.ws.assembler.server=true</jvm-options>
Then stop the GF server and restart it Next go to http://localhost:8080/EchoClientTest/ You can see the following messages in GF/domains/domain1/logs/server.log Request 
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
  <S:Body>
    <ns2:echoString xmlns:ns2="http://test/">
      <parameter> John Doe</parameter>
    </ns2:echoString>
  </S:Body>
</S:Envelope>

Response

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
  <S:Body>
    <ns2:echoStringResponse xmlns:ns2="http://test/">
      <return>hello John Doe</return>
    </ns2:echoStringResponse>
  </S:Body>
</S:Envelope>
]