1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      webservice方式如何在java項目中實現(xiàn)

      webservice方式如何在java項目中實現(xiàn)?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

      成都創(chuàng)新互聯(lián)公司專業(yè)提供德陽服務(wù)器托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買德陽服務(wù)器托管服務(wù),并享受7*24小時金牌售后服務(wù)。

      具體內(nèi)容如下

      webservice方式如何在java項目中實現(xiàn)

      1、定義接口

      package org.enson.chan;
       
      import javax.jws.WebService;
      import javax.jws.soap.SOAPBinding;
       
      @WebService
      @SOAPBinding(style=SOAPBinding.Style.RPC)
      public interface IMyService {
       public int add(int a , int b);
       
       public int max(int a , int b);
      }

      2、實現(xiàn)接口

      package org.enson.chan;
      import javax.jws.WebService;
      
      @WebService(endpointInterface="org.enson.chan.IMyService")
      public class MyServiceImpl implements IMyService {
      
       public int add(int a, int b) {
       System.out.println(a+"+"+b+"="+(a+b));
       return a+b;
       }
      
       public int max(int a, int b) {
       System.out.println("a與b比較大小,取大值"+((a>b)?a:b));
       return (a>b)?a:b;
       }
      
      }

      3、定義服務(wù)

      package org.enson.chan;
       
      import javax.xml.ws.Endpoint;
       
      public class MyServer {
       
       public static void main(String[] args) {
       String address = "http://localhost:8090/ns";
       Endpoint.publish(address, new MyServiceImpl());
       }
      }

      4、測試服務(wù)

      package org.enson.chan;
      
      import java.net.MalformedURLException;
      import java.net.URL;
      
      import javax.xml.namespace.QName;
      import javax.xml.ws.Service;
      
      public class TestClient {
      
       public static void main(String[] args) {
       try {
        URL url = new URL("http://localhost:8090/ns?wsdl");
        QName sname = new QName("http://chan.enson.org/", "MyServiceImplService");
        //創(chuàng)建服務(wù)
        Service service = Service.create(url,sname);
        //實現(xiàn)接口
        IMyService ms = service.getPort(IMyService.class);
        System.out.println(ms.add(12,33));
        //以上服務(wù)有問題,依然依賴于IMyServie接口
       } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
       }
      
      }

      5、TestSoap

      import java.io.IOException;
      import java.io.StringReader;
      import java.io.StringWriter;
      import java.net.URL;
      
      import javax.xml.bind.JAXBContext;
      import javax.xml.bind.JAXBException;
      import javax.xml.bind.Marshaller;
      import javax.xml.namespace.QName;
      import javax.xml.soap.MessageFactory;
      import javax.xml.soap.SOAPBody;
      import javax.xml.soap.SOAPBodyElement;
      import javax.xml.soap.SOAPEnvelope;
      import javax.xml.soap.SOAPException;
      import javax.xml.soap.SOAPHeader;
      import javax.xml.soap.SOAPMessage;
      import javax.xml.soap.SOAPPart;
      import javax.xml.transform.Source;
      import javax.xml.transform.Transformer;
      import javax.xml.transform.TransformerConfigurationException;
      import javax.xml.transform.TransformerException;
      import javax.xml.transform.TransformerFactory;
      import javax.xml.transform.TransformerFactoryConfigurationError;
      import javax.xml.transform.dom.DOMResult;
      import javax.xml.transform.stream.StreamSource;
      import javax.xml.ws.Dispatch;
      import javax.xml.ws.Service;
      import javax.xml.ws.soap.SOAPFaultException;
      import javax.xml.xpath.XPath;
      import javax.xml.xpath.XPathConstants;
      import javax.xml.xpath.XPathExpressionException;
      import javax.xml.xpath.XPathFactory;
      
      import org.junit.Test;
      import org.soap.service.User;
      import org.w3c.dom.Document;
      import org.w3c.dom.Node;
      import org.w3c.dom.NodeList;
      
      
      public class TestSoap {
       
       private String ns = "http://service.soap.org/";
       private String wsdlUrl = "http://localhost:8989/ms?wsdl";
      
       @Test
       public void test01() {
       try {
      
        MessageFactory factory = MessageFactory.newInstance();
        
        SOAPMessage message = factory.createMessage();
      
        SOAPPart part = message.getSOAPPart();
      
        SOAPEnvelope envelope = part.getEnvelope();
      
        SOAPBody body = envelope.getBody();
      
        QName qname = new QName("http://java.zttc.edu.cn/webservice", 
         "add","ns");//<ns:add xmlns="http://java.zttc.edu.cn/webservice"/>
      
        //body.addBodyElement(qname).setValue("<a>1</a><b>2</b>");
        SOAPBodyElement ele = body.addBodyElement(qname);
        ele.addChildElement("a").setValue("22");
        ele.addChildElement("b").setValue("33");
      
        message.writeTo(System.out);
       } catch (SOAPException e) {
        e.printStackTrace();
       } catch (IOException e) {
        e.printStackTrace();
       }
       }
       
       @Test
       public void test02() {
       try {
        URL url = new URL(wsdlUrl);
        QName sname = new QName(ns,"MyServiceImplService");
        Service service = Service.create(url,sname);
        
        Dispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,"MyServiceImplPort"),
         SOAPMessage.class, Service.Mode.MESSAGE);
        
        SOAPMessage msg = MessageFactory.newInstance().createMessage();
        SOAPEnvelope envelope = msg.getSOAPPart().getEnvelope();
        SOAPBody body = envelope.getBody();
        
        QName ename = new QName(ns,"add","nn");//<nn:add xmlns="xx"/>
        SOAPBodyElement ele = body.addBodyElement(ename);
        ele.addChildElement("a").setValue("22");
        ele.addChildElement("b").setValue("33");
        msg.writeTo(System.out);
        System.out.println("\n invoking.....");
        
        
        SOAPMessage response = dispatch.invoke(msg);
        response.writeTo(System.out);
        System.out.println();
        
        Document doc = response.getSOAPPart().getEnvelope().getBody().extractContentAsDocument();
        String str = doc.getElementsByTagName("addResult").item(0).getTextContent();
        System.out.println(str);
       } catch (SOAPException e) {
        e.printStackTrace();
       } catch (IOException e) {
        e.printStackTrace();
       }
       }
       
       @Test
       public void test03() {
       try {
        URL url = new URL(wsdlUrl);
        QName sname = new QName(ns,"MyServiceImplService");
        Service service = Service.create(url,sname);
        
        Dispatch<Source> dispatch = service.createDispatch(new QName(ns,"MyServiceImplPort"),
         Source.class, Service.Mode.PAYLOAD);
        
        User user = new User(3,"zs","張三","11111");
        JAXBContext ctx = JAXBContext.newInstance(User.class);
        Marshaller mar = ctx.createMarshaller();
        mar.setProperty(Marshaller.JAXB_FRAGMENT, true);
        StringWriter writer= new StringWriter();
        mar.marshal(user, writer);
        
        String payload = "<nn:addUser xmlns:nn=\""+ns+"\">"+writer.toString()+"</nn:addUser>";
        System.out.println(payload);
        StreamSource rs = new StreamSource(new StringReader(payload));
        
        Source response = (Source)dispatch.invoke(rs);
        
        Transformer tran = TransformerFactory.newInstance().newTransformer();
        DOMResult result = new DOMResult();
        tran.transform(response, result);
        
        XPath xpath = XPathFactory.newInstance().newXPath();
        NodeList nl = (NodeList)xpath.evaluate("http://user", result.getNode(),XPathConstants.NODESET);
        User ru = (User)ctx.createUnmarshaller().unmarshal(nl.item(0));
        System.out.println(ru.getNickname());
       } catch (IOException e) {
        e.printStackTrace();
       } catch (JAXBException e) {
        e.printStackTrace();
       } catch (TransformerConfigurationException e) {
        e.printStackTrace();
       } catch (TransformerFactoryConfigurationError e) {
        e.printStackTrace();
       } catch (TransformerException e) {
        e.printStackTrace();
       } catch (XPathExpressionException e) {
        e.printStackTrace();
       }
       }
       
       @Test
       public void test04() {
       try {
        URL url = new URL(wsdlUrl);
        QName sname = new QName(ns,"MyServiceImplService");
        Service service = Service.create(url,sname);
        
        Dispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,"MyServiceImplPort"),
         SOAPMessage.class, Service.Mode.MESSAGE);
        
        SOAPMessage msg = MessageFactory.newInstance().createMessage();
        SOAPEnvelope envelope = msg.getSOAPPart().getEnvelope();
        SOAPBody body = envelope.getBody();
        
        SOAPHeader header = envelope.getHeader();
        if(header==null) header = envelope.addHeader();
        QName hname = new QName(ns,"authInfo","nn");
        header.addHeaderElement(hname).setValue("aabbccdd");
        
        QName ename = new QName(ns,"list","nn");//<nn:add xmlns="xx"/>
        body.addBodyElement(ename);
        msg.writeTo(System.out);
        System.out.println("\n invoking.....");
        
        
        SOAPMessage response = dispatch.invoke(msg);
        response.writeTo(System.out);
        System.out.println();
        
        Document doc = response.getSOAPBody().extractContentAsDocument();
        NodeList nl = doc.getElementsByTagName("user");
        JAXBContext ctx = JAXBContext.newInstance(User.class);
        for(int i=0;i<nl.getLength();i++) {
        Node n = nl.item(i);
        User u = (User)ctx.createUnmarshaller().unmarshal(n);
        System.out.println(u.getNickname());
        }
       } catch (SOAPException e) {
        e.printStackTrace();
       } catch (IOException e) {
        e.printStackTrace();
       } catch (JAXBException e) {
        e.printStackTrace();
       }
       }
       
       @Test
       public void test05() {
       try {
        URL url = new URL(wsdlUrl);
        QName sname = new QName(ns,"MyServiceImplService");
        Service service = Service.create(url,sname);
        
        Dispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,"MyServiceImplPort"),
         SOAPMessage.class, Service.Mode.MESSAGE);
        
        SOAPMessage msg = MessageFactory.newInstance().createMessage();
        SOAPEnvelope envelope = msg.getSOAPPart().getEnvelope();
        SOAPBody body = envelope.getBody();
        
        QName ename = new QName(ns,"login","nn");//<nn:add xmlns="xx"/>
        SOAPBodyElement ele = body.addBodyElement(ename);
        ele.addChildElement("username").setValue("ss");
        ele.addChildElement("password").setValue("dd");
        msg.writeTo(System.out);
        System.out.println("\n invoking.....");
        
        
        SOAPMessage response = dispatch.invoke(msg);
        response.writeTo(System.out);
        System.out.println();
        
       } catch(SOAPFaultException e){
        System.out.println(e.getMessage());
       } catch (SOAPException e) {
        e.printStackTrace();
       } catch (IOException e) {
        e.printStackTrace();
       } 
       }
      }

      看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


      當(dāng)前文章:webservice方式如何在java項目中實現(xiàn)
      當(dāng)前路徑:http://ef60e0e.cn/article/gedjec.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        南和县| 馆陶县| 龙州县| 皋兰县| 南丹县| 海阳市| 临邑县| 闽清县| 昭平县| 东辽县| 威信县| 怀来县| 磴口县| 大埔县| 衡山县| 青岛市| 磐石市| 万载县| 靖安县| 焉耆| 分宜县| 松江区| 灵石县| 梅河口市| 五峰| 信丰县| 榕江县| 磐安县| 徐闻县| 泸溪县| 申扎县| 桂林市| 土默特左旗| 景德镇市| 宁德市| 德化县| 哈尔滨市| 福鼎市| 澄江县| 永嘉县| 铁岭县|