当前位置:首页 > 前端设计 > 正文

java 调用webservice?Java开发webservice

java 调用webservice?Java开发webservice

各位老铁们好,相信很多人对java 调用webservice都不是特别的了解,因此呢,今天就来为大家分享下关于java 调用webservice以及Java开发webs...

各位老铁们好,相信很多人对java 调用webservice都不是特别的了解,因此呢,今天就来为大家分享下关于java 调用webservice以及Java开发webservice的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

java调用java编写的WebService接口服务端收到的参数为空

直接用soupUI测试,如果好用,就是客户端的问题,服务端不用理会。

如何通过HTTPS方式访问webservice

微服务是把原来的单体服务切割成小的服务。一般来说通过http/https提供服务。微服务不仅仅是把http请求分到不同的服务器上,而是逻辑上进行切割,包括数据库。

比如订单服务,产品服务,如果仅仅是请求分到不同服务器,只能算负载均衡。

如果订单有独立的数据库,独立的服务,产品也有独立的服务,甚至实现架构都不一样比如订单用java,产品用go。甚至各个微服务的耦合交给前端实现。

比如查看订单的时候,显然需要知道订单对应的产品,买家或者卖家信息(用户微服务),前端获得订单数据之后,可以根据产品id,用户id,向产品服务,用户服务发起请求获取数据。至于跟http,webservice的关系,后者应该说只是微服务接口实现方式而已。

怎么访问webservice接口的方法

java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebServiceClient代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。1、编写代码方式:packagecom.yudun.test;importjava.rmi.RemoteException;importorg.apache.axis.client.Call;importorg.apache.axis.client.Service;importorg.apache.axis.message.PrefixedQName;importorg.apache.axis.message.SOAPHeaderElement;importcom.cezanne.golden.user.Exception;importcom.cezanne.golden.user.UserManagerServiceProxy;importjavax.xml.namespace.QName;importjava.net.MalformedURLException;importjavax.xml.rpc.ServiceException;importjavax.xml.soap.Name;importjavax.xml.soap.SOAPException;publicclasstestWebService{publicstaticStringgetResult()throwsServiceException,MalformedURLException,RemoteException,SOAPException{//标识WebService的具体路径Stringendpoint="WebService服务地址";//创建Service实例Serviceservice=newService();//通过Service实例创建Call的实例Callcall=(Call)service.createCall();//将WebService的服务路径加入到call实例之中.call.setTargetEndpointAddress(newjava.net.URL(endpoint));//为Call设置服务的位置//由于需要认证,故需要设置调用的SOAP头信息。NameheaderName=newPrefixedQName(newQName("发布的wsdl里的targetNamespace里的url","string_itemName"));org.apache.axis.message.SOAPHeaderElementheader=newSOAPHeaderElement(headerName);header.addTextNode("blablabla");call.addHeader(header);//SOAPHeaderElementsoapHeaderElement=newSOAPHeaderElement("发布的wsdl里的targetNamespace里的url","SoapHeader");//soapHeaderElement.setNamespaceURI("发布的wsdl里的targetNamespace里的url");//try//{//soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");//}//catch(SOAPExceptione)//{//e.printStackTrace();//}//call.addHeader(soapHeaderElement);//调用WebService的方法org.apache.axis.description.OperationDescoper;org.apache.axis.description.ParameterDescparam;oper=neworg.apache.axis.description.OperationDesc();oper.setName("opName");param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg0"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName("

http://www.w3.org/2001/XMLSchema

","string"),java.lang.String.class,false,false);param.setOmittable(true);oper.addParameter(param);param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg1"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName("

http://www.w3.org/2001/XMLSchema

","string"),java.lang.String.class,false,false);param.setOmittable(true);oper.addParameter(param);param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg2"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName("

http://www.w3.org/2001/XMLSchema

","string"),java.lang.String.class,false,false);param.setOmittable(true);oper.addParameter(param);oper.setReturnType(newjavax.xml.namespace.QName("

http://www.w3.org/2001/XMLSchema

","string"));oper.setReturnClass(java.lang.String.class);oper.setReturnQName(newjavax.xml.namespace.QName("","return"));oper.setStyle(org.apache.axis.constants.Style.WRAPPED);oper.setUse(org.apache.axis.constants.Use.LITERAL);oper.addFault(neworg.apache.axis.description.FaultDesc(newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","Exception"),"Exception",newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","Exception"),true));call.setOperation(oper);call.setOperationName(newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","opName"));//调用WebService,传入参数Stringres=(String)call.invoke(newObject[]("arg0","arg1"));System.out.println("===============");returnres;}/***@paramargs*/publicstaticvoidmain(String[]args){try{System.out.println(getResult());}catch(MalformedURLExceptione){e.printStackTrace();}catch(RemoteExceptione){e.printStackTrace();}catch(ServiceExceptione){e.printStackTrace();}catch(SOAPExceptione){e.printStackTrace();}}}2、利用Eclipse自动生成WebServiceclient代码就容易多了:(由于还不会发图片,就用语言描述了,大家酬和看吧。。。)首先,newproject,选择other,在输入框中输入WebServiceClient,选中搜索后的结果,点击Next,在Servicedefinition中输入WebService的发布地址,点击Finish这样,WebServiceClient代码已经生成好了。接下来写一个Test类,在main函数中输入如下代码:Stringendpoint="服务器的WebService的地址";YourWebServiceNameProxyumsp=newYourWebServiceNameProxy(endpoint);try{StringresultStr=umsp.opMethod("arg0","arg1");System.out.println(resultStr);}catch(Exceptione){System.out.println("异常");e.printStackTrace();}catch(RemoteExceptione){System.out.println("RemoteException异常");e.printStackTrace();}

如何成为高级Java工程师

宏观方面

一、JAVA。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经了。

二、设计模式。其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?

三、XML。现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。

四、精通使用一种或两种框架。像在《如何成为java初级程序员》中提到的那样,“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本”。但我这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。

五、熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出身,您还需要补充一些数据库原理方面的知识。

六、精通一种或两种WEBServer。尽管我再《如何成为java初级程序员》里讲过它,我还是要强调您要精通一种或两种。因为作为JAVA工程师,特别时想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它的资源,这往往可以节省很多时间和精力。

七、UML。我知道您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但却很重要。

八、站在高度分析问题:这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。

九、工具。与在《如何成为java初级程序员》里提到的不同,您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧

微观方面

1.CoreJava部分

这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:

a.面向对象编程思想(封装继承多态接口)

b.字符串处理

c.java.lang包,java.util包等常用包

d.java异常处理

2.Java高级部分

a.JavaI/O流

b.Java多线程技术

c.Java网络编程

d.JavaSwing

后两项可以了解即可,如果项目需要可以深入研究

3.前端基本技能

*HTML+CSS网页开发

*JavaScript

*Jquery

*浏览器兼容性CSShack(了解)

4.熟练使用JSP+Servlet进行开发

5.MVC设计模式,原理,以及相关框架,如Struts

6.SSH框架

7.缓存技术session&cookie

8.熟练使用一种以上Java开发工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)

9.熟练使用XML

JDOMw3c.domSAX

10.Java设计模式

工厂模式,单例模式==

11.Java反射机制

反射的各种用法

12.了解或熟悉C,C++,.NET

13.熟悉JDK的配置,环境变量

14.数据库oracle必学,其他最好了解一种以上(mysql,sqlserver,access==)

oracle:视图,索引,存储过程,触发器,游标,包,常用函数==

15.数据库原理

事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==

16.JDBC,连接池

17.Ajax,反向Ajax

18.HTTP协议,request和response的原理,HTTPstatus(了解常用的),Https原理

19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目

20.了解windows系统批处理脚本bat

21.了解HTML5,最好学习过

22.熟悉一种JS框架,如Prototype

23.J2EE原理熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic==

24.熟悉ant或maven

25.熟悉一门脚本语言,如python,ruby

26.了解php/asp

27.了解ftp协议及原理

28.熟练使用Junit测试,熟悉Mockito等测试工具

29,熟悉javac,javadoc,native,native2ascii等常用命令

30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。

31.了解Flex(不学也没关系)

32.了解敏捷开发模式

33.工作流workflow至少用过一种,如OSworkflow,了解原理

34.使用过VPN了解其原理

35.熟悉jstl表达式和el表达式

36.熟悉webservice,WSDL,SOAP

37.图片处理,如图片上传,预览,限制大小等

38.版本控制工具,CVSVSSSVN

39,JSON技术,JSON+AJAX

40.分页技术,最好自己实现过不仅仅是用过要知道原理

41.JavaMail

42.Java读写txt,excel,JXL技术

43.JVM原理,JVM内存管理,GC,Java堆栈池

44.熟练使用下面的工具:

office办公软件,word,excel,ppt等

plsql,sqldevelop数据库开发工具

outlook大公司都用

ue编辑器

浏览器控制台,调试

SHH/PUTTY远程

45.UML建模工具RationalRose等

46.使用log4j

47.使用过开放Api如百度,腾讯街景,新浪微博等

48.页面静态化技术(伪静态页面)

49.报表技术,使用过报表制作工具,如水晶易表。

50.定时任务,如Springbatch,学会自定义batch任务(不适用第三方工具)

51.了解uuid

52.b/s和c/s架构

53.正则表达式

54.了解jndijms

55.ERP

56.UNICODE编码,乱码解决

57.开源网络编辑器,如ckEditor

58.二进制原理

59.使用过,了解过开源论坛框架,如discuzz

60.GWT,Closure框架

61.了解大数据,云计算

62.搜索引擎搜索技术

63.软件工程,项目管理

把webservice服务和客户端写在一个工程里怎么调用

然后在你的另一个项目中建一个WebserviceClient客户端,用来访问你的WS服务。建立WebserviceClient方法如下,在Eclipses中建立一个java工程,然后在src上D

急!myeclipse基于JAX-WS创建webservice client在填写WSDL URL时输入https协议的url如何做

1.创建WebService简单服务端1).新建一个WebServiceProjectFile---New---WebServiceProject2).新建一个普通服务方法3).新建相应的WebService接口项目名---New---other---WebService---Framework:JAX-WS---Strategy:CreatewebservicefromJavacalss(Bottom-upscenario)---Javaclass选择需要提供的方法类名---Finsh4).在WebRoot/WEB-INF/web.xml中获取url端口名称5).将服务端应用部署,进行测试

OK,本文到此结束,希望对大家有所帮助。

最新文章