免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
cxf設(shè)置代理訪問(wèn)webservice接口

  由于業(yè)務(wù)上的需要,需要訪問(wèn)第三方提供的webservice接口,但由于公司做了對(duì)外訪問(wèn)的限制,不設(shè)置代理是不能外網(wǎng)的,如果使用http設(shè)置代理訪問(wèn)外網(wǎng)還是比較容易的,但使用cxf有點(diǎn)不知道從哪里入手。網(wǎng)上也有一些零散的信息,現(xiàn)在我整理一下提供參考。

1、JaxWsProxyFactoryBean設(shè)置代理

import org.apache.cxf.configuration.security.ProxyAuthorizationPolicy;import org.apache.cxf.endpoint.Client;import org.apache.cxf.frontend.ClientProxy;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import org.apache.cxf.transport.http.HTTPConduit;import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;public class TeacherService {        public String getStudents(StudentCard card){        JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();          factoryBean.setServiceClass(TeacherWebService.class);          factoryBean.setAddress("http://xxx.xxx.xxx.xxx/webservice?wsdl");          TeacherWebService tService = (TeacherWebService )factoryBean.create();                     Client client = ClientProxy.getClient(tService);        HTTPConduit http = (HTTPConduit) client.getConduit();        HTTPClientPolicy hcp = new HTTPClientPolicy();        hcp.setProxyServer(proxyHost);        hcp.setProxyServerPort(proxyport);        http.setClient(hcp);        ProxyAuthorizationPolicy proxyAuthorization = new ProxyAuthorizationPolicy();        proxyAuthorization.setUserName(proxyUsername);        proxyAuthorization.setPassword(proxyPassword);        http.setProxyAuthorization(proxyAuthorization);                String res = tService.getStudents(card);                return res;    }}

2、使用JaxWsDynamicClientFactory設(shè)置代理

import java.net.Authenticator;import java.net.PasswordAuthentication;import javax.xml.namespace.QName;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;import com.thoughtworks.xstream.XStream;public class TeacherService {        public String getStudents(StudentCard card)throws Exception{      System.setProperty("http.proxyHost","http.proxy.host");        System.setProperty("http.proxyPort", "http.proxy.port");        Authenticator.setDefault(new MyAuthenticator("username", "password")));                JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();                   //url為調(diào)用webService的wsdl地址          Client client = dcf.createClient("http://xxx.xxxx.xxx.xxx:8080/webservice?wsdl");          //namespace是命名空間,methodName是方法名         QName name=new QName("http://www.xxxx.com","getStudents");       XStream xstream = new XStream(new XppDriver(new XmlFriendlyNameCoder("_-", "_")));        Object[] objects = client.invoke(name,xstream.toXML(card));                 String res = "";        if(objects != null && objects.length != 0){            res = objects[0].toString();        }                return res;  }

  static class MyAuthenticator extends Authenticator {
    private String username, password;

    public MyAuthenticator(String username, String password) {
      this.username = username;
      this.password = password;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(username, password.toCharArray());
    }
  }

}

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CXF方式發(fā)布WebService全步驟
cxf webservice 完整例子
CXF創(chuàng)建webservice客戶端和服務(wù)端
CXF MyEclipse 開發(fā)webservice入門實(shí)例之HelloWorld
webservice 服務(wù)端例子+客戶端例子+CXF整合spring服務(wù)端測(cè)試+生成wsdl文件 +cxf客戶端代碼自動(dòng)生成
使用CXF發(fā)布和調(diào)用webservice之HelloWorld入門
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服