紫蘭州

          紫蘭州

            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  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 克什克腾旗| 云林县| 龙口市| 肃北| 车致| 麻城市| 任丘市| 信阳市| 静海县| 襄樊市| 酒泉市| 高平市| 肥西县| 湛江市| 石阡县| 邮箱| 瑞金市| 桐庐县| 乐业县| 高要市| 龙口市| 德化县| 大同县| 布尔津县| 芷江| 涪陵区| 延吉市| 洛川县| 沅陵县| 五大连池市| 永清县| 县级市| 山西省| 金堂县| 阿克| 新巴尔虎右旗| 北川| 安国市| 黑山县| 上栗县| 株洲市|