紫蘭州

          紫蘭州

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


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


          網站導航:
           
          主站蜘蛛池模板: 洪湖市| 策勒县| 乌什县| 绥滨县| 陆丰市| 靖州| 鄂州市| 惠来县| 册亨县| 图片| 邻水| 庄浪县| 金昌市| 榆中县| 娱乐| 宣威市| 广河县| 房山区| 合阳县| 延庆县| 昭平县| 郑州市| 苍南县| 宣化县| 龙里县| 光泽县| 伊宁市| 旌德县| 合山市| 岱山县| 江北区| 光泽县| 且末县| 宝清县| 舞钢市| 全州县| 耿马| 阜新市| 大石桥市| 丰城市| 寿光市|