当前位置: 首页 > 面试题库 >

使用Axis2创建Web服务的步骤-客户端代码

龚运乾
2023-03-14
问题内容

我正在尝试创建一个Web服务,我的交易工具是:

**

Axis2,Eclipse,Tomcat,Ant

**

我需要从Code创建一个Web服务,即编写一个基本的Java类,它将具有在WSDL中声明的方法。然后使用java2WSDL.sh创建我的WSDL。

因此,这种方法是否正确:

  1. 用实际的业务逻辑编写我的Java类
package packageNamel;

public class Hello{
public void World(String name)
          {
            SOP("Hello" + name);
          }
}
  1. 现在,当我将此Hello.java传递给java2WSDL.sh时,这将为我提供WSDL。
  2. 最后,我将编写services.xml文件,并使用以下目录结构创建Hello.aar:

你好

* 包裹名字 
  * 同学们好
* META-INF 
  * services.xml
  * 清单文件
  * 你好.WSDL

现在,我假设将aar放入tomcat1 / webapps / axis2 / WEB-INF / services中时,将部署我的服务

但是,我的问题来了,我该如何访问方法World(String name)??? !!,即我对客户端代码一无所知!

请启发我制作一个非常基本的Web服务并调用该方法。上述3个步骤可能是错误的。这是一个社区Wiki,请随时进行编辑。

谢谢


问题答案:

我假设您只对Web服务客户端感兴趣?

选项1

使用Axis2 REST支持来调用Web服务,例如:

http:// localhost:8080 / axis2 / services / MyService / myOperation?param1 =
one&param2 =
two

选项2

使用SOAPUI。通过阅读服务的WSDL,它可以为您生成SOAP消息。我的客户的测试人员仅在对Web服务技术有非常广泛的了解的情况下广泛使用它。令人印象深刻的工具。

选项3

Groovy客户端(与其他基于JVM的语言相同的方法)

使用 wsdl2java 工具为莎士比亚Web服务创建客户机存根类:

generate.sh

$AXIS2_HOME/bin/wsdl2java.sh -d adb -s -o build -uri http://www.xmlme.com/WSShakespeare.asmx?WSDL
ant -file build/build.xml

GetSpeech.groovy

// Dependencies
// ============
import com.xmlme.webservices.ShakespeareStub

@Grapes([
    @Grab(group='org.apache.axis2', module='axis2-kernel', version='1.5.1'),
    @Grab(group='org.apache.axis2', module='axis2-adb', version='1.5.1'),
    @Grab(group='org.apache.axis2', module='axis2-transport-local', version='1.5.1'),
    @Grab(group='org.apache.axis2', module='axis2-transport-http', version='1.5.1'),
    @Grab(group='xerces', module='xercesImpl', version='2.6.2'),
    @GrabConfig(systemClassLoader=true)
])

// Main program
// ============
def stub = new ShakespeareStub()

// Request payload
def request = new ShakespeareStub.GetSpeech()
request.setRequest("Friends, romans, countrymen")

// Send request
response = stub.getSpeech(request)

println response.getGetSpeechResult()

使用-cp参数将生成的代码添加到脚本的类路径中

groovy -cp build/build/classes GetSpeech


 类似资料:
  • 我正在尝试使用Axis2构建的web服务,因此我遵循以下示例创建客户机代码。 这个错误的原因是什么?

  • 我是java和web服务以及的新手。我最近使用一些教程创建了一个web服务。当我第一次学习eclipse教程时,让我创建一个客户机。但是当我尝试创建一个新项目和一个新的web服务客户机时,它会给出。具体如下所示: im使用Axis2-1.6.1,它说java遵从性级别是6,我搜索了一下,但是找不到解决这个问题的相关方案。感谢任何帮助。

  • 问题内容: Axis2和Eclipse是否可以生成Web Service客户端,并使其使用包中已经具有的Java类型,而不是创建自己的类型。原因当然是如果我已经创建了类型A,并且它创建了它自己的类型AI,则不能仅将类型A的变量分配给类型B的变量。 wsdl是从部署到应用程序服务器的Web服务生成的。如果无法从中生成它,则可以从已经存在的Java文件中生成一个客户端。 问题答案: 如果您确实想重用现

  • 我有一个运行在j2ee服务器(jboss 4.0.4)上的axis2 web服务客户端,该服务器一直在使用tomcat上托管的web服务。最近tomcat管理员打开了TLS,现在我的axis2客户端无法工作。如何为axis2客户端打开TLS? 谢谢你的帮助!

  • 问题内容: 我有stfw,但是找不到在Java中创建Web服务客户端的简单/独立方法。 有人在此链接/示例吗? 问题答案: 使用Axis2怎么样? 只需按照快速入门指南进行操作,就可以轻松应对。 这是另一个更具描述性的指南

  • 这些其他问题暗示了一个解决方案,但我一直无法实现这一点: 无法解析的绑定http://schemas.xmlsoap.org/wsdl/soap/ ServiceConstructionException在创建CXF web服务客户端时 如何使用Maven“shade”插件将Apache CXF应用程序打包到单片JAR中 当我通过执行启动我的应用程序时,我会得到一个