紫蘭州

          紫蘭州

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            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,創(chuàng)建消息工廠 
                  try 
                      MessageFactory factory
          =MessageFactory.newInstance(); 
                      
          //2,根據(jù)消息工廠創(chuàng)建SOAPMessage 
                        
                      SOAPMessage messge
          =factory.createMessage(); 
                      
          //3,創(chuàng)建SOAPPart 
                      SOAPPart part=messge.getSOAPPart() ; 
                      
          //4,獲取信封 
                      SOAPEnvelope envelop=part.getEnvelope() ; 
                      
          //5,獲取消息主題部分 
                      SOAPBody body=envelop.getBody(); 
                        
                      
          //6,創(chuàng)建信息 
                      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(); 
                  }
           
              }
           
                
              
          //測試將消息發(fā)送到服務(wù)器端 
              @Test
              
          public void testSendMessge()
          //      1,創(chuàng)建服務(wù) 
                    
                  
          try 
                      URL url
          =new URL(wsdlUrl); 
                      QName qname
          =new QName(ns,"MyServiceImplService"); 
                      Service service
          =Service.create(url,qname); 
                        
          //          2,創(chuàng)建Dispicathc 
                        
                      Dispatch
          <SOAPMessage> dispatch=service.createDispatch(new QName(ns,"MyServiceImplPort"), 
                              SOAPMessage.
          class, Service.Mode.MESSAGE); 
          //          3,創(chuàng)建消息 
                      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  回復(fù)  更多評論
            


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 龙门县| 永善县| 宁安市| 松潘县| 武宣县| 和政县| 潮安县| 林周县| 吕梁市| 呼和浩特市| 即墨市| 福泉市| 昌都县| 西青区| 侯马市| 密云县| 称多县| 广水市| 常德市| 安义县| 南京市| 滨海县| 卓尼县| 汉源县| 成武县| 广昌县| 阜新| 大姚县| 灌南县| 利辛县| 当雄县| 新疆| 荆门市| 阳泉市| 义马市| 南华县| 兴隆县| 鹤峰县| 桂东县| 嘉禾县| 县级市|