紫蘭州

          紫蘭州

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            4 隨筆 :: 0 文章 :: 1 評論 :: 0 Trackbacks

          ----------------------------------------------

          1.Dispatch SOAP

          2.tcpmon 無法查看soap消息

          3.SOAP 添加 頭信息

          4.Dispatch操作SOAP頭消息

          5.java WebService:SAAJ客戶端操作SOAP消息

          ----------------------------------------------
          來源:愛上123 原文地址:http://www.ishang123.com/jishubowen/java/2012-08-14/137.html
          package org.example.myservice; 
            
          import java.io.IOException; 
          import java.net.MalformedURLException; 
          import java.net.URL; 
            
          import javax.xml.namespace.QName; 
          import javax.xml.soap.MessageFactory; 
          import javax.xml.soap.SOAPBody; 
          import javax.xml.soap.SOAPElement; 
          import javax.xml.soap.SOAPEnvelope; 
          import javax.xml.soap.SOAPException; 
          import javax.xml.soap.SOAPMessage; 
          import javax.xml.soap.SOAPPart; 
          import javax.xml.ws.Dispatch; 
          import javax.xml.ws.Service; 
            
          import org.junit.Test; 
          import org.w3c.dom.Node; 
          import org.w3c.dom.NodeList; 
            
          public class JunitTest 
            
              
          private String ns = "http://www.example.org/MyService/"
              
          private String wsdlUrl = "http://10.10.9.208:8088/ms?wsdl"
                
              @Test
              
          public void testMessage()
                  
          //1,創建消息工廠 
                  try 
                      MessageFactory factory
          =MessageFactory.newInstance(); 
                      
          //2,根據消息工廠創建SOAPMessage 
                        
                      SOAPMessage messge
          =factory.createMessage(); 
                      
          //3,創建SOAPPart 
                      SOAPPart part=messge.getSOAPPart() ; 
                      
          //4,獲取信封 
                      SOAPEnvelope envelop=part.getEnvelope() ; 
                      
          //5,獲取消息主題部分 
                      SOAPBody body=envelop.getBody(); 
                        
                      
          //6,創建信息 
                      QName qname=new QName(wsdlUrl,"add","ns"); 
                      SOAPElement ele
          =body.addBodyElement(qname); 
                      ele.addChildElement(
          "number1").setValue("1"); 
                      ele.addChildElement(
          "number2").setValue("2"); 
                        
                      messge.writeTo(System.out); 
                  }
           catch (SOAPException e) 
                      
          // TODO Auto-generated catch block 
                      e.printStackTrace(); 
                  }
           catch (IOException e) 
                      
          // TODO Auto-generated catch block 
                      e.printStackTrace(); 
                  }
           
              }
           
                
              
          //測試將消息發送到服務器端 
              @Test
              
          public void testSendMessge()
          //      1,創建服務 
                    
                  
          try 
                      URL url
          =new URL(wsdlUrl); 
                      QName qname
          =new QName(ns,"MyServiceImplService"); 
                      Service service
          =Service.create(url,qname); 
                        
          //          2,創建Dispicathc 
                        
                      Dispatch
          <SOAPMessage> dispatch=service.createDispatch(new QName(ns,"MyServiceImplPort"), 
                              SOAPMessage.
          class, Service.Mode.MESSAGE); 
          //          3,創建消息 
                      SOAPMessage message=MessageFactory.newInstance().createMessage(); 
                      SOAPBody body 
          =message.getSOAPPart().getEnvelope().getBody(); 
                      SOAPElement ele
          =body.addChildElement(new QName(ns,"add","nn")); 
                      ele.addChildElement(
          "number1").setValue("12"); 
                      ele.addChildElement(
          "number2").setValue("13"); 
                        
                      SOAPMessage response
          =dispatch.invoke(message); 
                      
          //response.writeTo(System.out); 
                      NodeList nodeList=response.getSOAPBody().getElementsByTagName("result"); 
                      Node node
          =nodeList.item(0); 
                      System.out.println(node.getTextContent()); 
                      
          //使用此種方式也能夠使用想要的值。 
                        
                        
                        
                        
                        
                  }
           catch (MalformedURLException e) 
                      
          // TODO Auto-generated catch block 
                      e.printStackTrace(); 
                  }
           catch (SOAPException e) 
                      
          // TODO Auto-generated catch block 
                      e.printStackTrace(); 
                  }
           catch (IOException e) 
                      
          // TODO Auto-generated catch block 
                      e.printStackTrace(); 
                  }
           
              }
           
                
                
          }

           

          posted on 2012-08-14 09:07 紫蘭州 閱讀(2674) 評論(1)  編輯  收藏

          評論

          # re: java Webservice:Dispatch操作SOAP頭消息 2015-08-04 09:03 sdfdsf
          sdfdsfsd  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 广昌县| 县级市| 资兴市| 巨鹿县| 仪征市| 北川| 遂平县| 绥中县| 大兴区| 耒阳市| 宜丰县| 卢龙县| 凤台县| 宜章县| 垫江县| 靖西县| 庆安县| 莱芜市| 大竹县| 隆昌县| 柳林县| 垣曲县| 将乐县| 正蓝旗| 延长县| 新郑市| 黑龙江省| 迁安市| 达孜县| 长沙市| 化德县| 礼泉县| 莲花县| 张家口市| 正镶白旗| 荆门市| 广南县| 龙川县| 洱源县| 繁峙县| 酒泉市|