proxyie,Java程序员如何突破三年的门槛?
工作的前三年是成长极快的阶段,前期的这个阶段更多的是需要不断的去学习,在工作中实践,更加深入的了解Java基础。
工作1-2年,已经对Java有了更加深入的了解,但是对于面向对象的体会可能还不够深刻,编程的时候还停留在完成功能的层次,很少去考虑设计的问题,这个时候,设计模式就来了,学会使用设计模式,提高代码能力,写出一手优雅的代码。
工作2-3年,之前应该接触过并发,这个时候,应该更加深入的了解并发相关的知识,有空看看jdk的源码也是可以的。
了解过“如鹏网”的Java提高技术学习路线,可以作为学习的参考,有网络的地方就可以学习,利用空余的时间来系统的提升自己。主要内容有:分布式、设计模式、前端技术、网络支付、全文搜索引擎、Docker、WebService等。第一阶段:
2、NoSQL
3、设计模式
4、分布式技术
5、综合项目实战
怎么访问webservice接口的方法?
java调用webservice可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。1、编写代码方式:package com.yudun.test;import java.rmi.RemoteException;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.message.PrefixedQName;import org.apache.axis.message.SOAPHeaderElement;import com.cezanne.golden.user.Exception;import com.cezanne.golden.user.UserManagerServiceProxy;import javax.xml.namespace.QName;import java.net.MalformedURLException;import javax.xml.rpc.ServiceException;import javax.xml.soap.Name;import javax.xml.soap.SOAPException;public class testWebService {public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException { //标识Web Service的具体路径 String endpoint = "WebService服务地址"; // 创建 Service实例 Service service = new Service(); // 通过Service实例创建Call的实例 Call call = (Call) service.createCall(); //将Web Service的服务路径加入到call实例之中. call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置 // 由于需要认证,故需要设置调用的SOAP头信息。 Name headerName = new PrefixedQName( new QName("发布的wsdl里的targetNamespace里的url", "string_itemName") ); org.apache.axis.message.SOAPHeaderElement header = new SOAPHeaderElement(headerName); header.addTextNode( "blablabla" ); call.addHeader(header); // SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("发布的wsdl里的targetNamespace里的url", "SoapHeader"); // soapHeaderElement.setNamespaceURI("发布的wsdl里的targetNamespace里的url"); // try // { // soapHeaderElement.addChildElement("string_itemName").setValue("blablabla"); // } // catch (SOAPException e) // { // e.printStackTrace(); // } // call.addHeader(soapHeaderElement); //调用Web Service的方法 org.apache.axis.description.OperationDesc oper; org.apache.axis.description.ParameterDesc param; oper = new org.apache.axis.description.OperationDesc(); oper.setName("opName"); param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("
http://www.w3.org/2001/XMLSchema
", "string"), java.lang.String.class, false, false); param.setOmittable(true); oper.addParameter(param); param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg1"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema
", "string"), java.lang.String.class, false, false); param.setOmittable(true); oper.addParameter(param); param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg2"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema
", "string"), java.lang.String.class, false, false); param.setOmittable(true); oper.addParameter(param); oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema
", "string")); oper.setReturnClass(java.lang.String.class); oper.setReturnQName(new javax.xml.namespace.QName("", "return")); oper.setStyle(org.apache.axis.constants.Style.WRAPPED); oper.setUse(org.apache.axis.constants.Use.LITERAL); oper.addFault(new org.apache.axis.description.FaultDesc( new javax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url", "Exception"), "Exception", new javax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url", "Exception"), true )); call.setOperation( oper ); call.setOperationName(new javax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url", "opName")); //调用Web Service,传入参数 String res = ( String ) call.invoke( new Object[]("arg0","arg1")); System.out.println("==============="); return res; }/** * @param args */ public static void main(String[] args) { try { System.out.println(getResult()); } catch (MalformedURLException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } catch (ServiceException e) { e.printStackTrace(); } catch (SOAPException e) { e.printStackTrace(); } }}2、利用Eclipse自动生成WebService client代码就容易多了:(由于还不会发图片,就用语言描述了,大家酬和看吧。。。)首先,new project,选择other,在输入框中输入Web Service Client,选中搜索后的结果,点击Next,在Service definition中输入 WebService的发布地址,点击Finish这样,WebService Client代码已经生成好了。接下来写一个Test类,在main函数中输入如下代码:String endpoint = "服务器的WebService的地址"; YourWebServiceNameProxy umsp = new YourWebServiceNameProxy (endpoint); try { String resultStr = umsp.opMethod("arg0","arg1"); System.out.println(resultStr); } catch (Exception e) { System.out.println("异常"); e.printStackTrace();} catch (RemoteException e) { System.out.println("RemoteException异常"); e.printStackTrace();}
还没有评论,来说两句吧...