调用带参数的webservice 返回null 解决办法

本文介绍了解决调用含参数方法时遇到的参数名称不匹配问题。通过查看wsdl文件发现参数被转换为arg0,需将调用参数更改为arg0以确保正确调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在调用含参数的方法时,总是出现null,如下图所示:
[img]C:\\000.png[/img]
原因:
如果调用的方法中有参数,则首先打开相应的服务,查看wsdl文件:
[img]C:\\111.png[/img],
我们看到wsdl将参数转换为arg0了,因此在调用的时候参数名字需要改为arg0
[img]C:\\222.png[/img]

不知道如何在文章中添加图片,详见附件
好的,下面是创建带参数的RESTful WebService调用的步骤: 1. 首先打开Eclipse,选择File -> New -> Dynamic Web Project,创建一个新的Web项目。在创建的过程中,需要选择Target Runtime为Tomcat或其他Web服务器。 2. 在src目录下创建一个新的Java类,用于实现我们的RESTful WebService。在这个类中,我们需要使用注解来定义RESTful服务,例如: ```java @Path("/greeting") public class GreetingService { @GET @Path("/{param}") public Response getMsg(@PathParam("param") String msg) { String output = "Hello, " + msg + "!"; return Response.status(200).entity(output).build(); } } ``` 这个例子定义了一个名为"GreetingService"的类,它提供了一个路径为"/greeting/{param}"的GET方法,其中{param}是一个路径参数。当客户端调用这个方法时,服务端会根据传入的参数返回一个字符串。 3. 在web.xml文件中添加Servlet映射,例如: ```xml <servlet> <servlet-name>GreetingService</servlet-name> <servlet-class>com.example.GreetingService</servlet-class> </servlet> <servlet-mapping> <servlet-name>GreetingService</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> ``` 这个例子中,我们将GreetingService类映射到了"/rest"路径下,这样客户端就可以通过"http://localhost:8080/项目名/rest/greeting/xxx"来访问我们的RESTful服务了。 4. 启动Tomcat服务器,并在浏览器中访问"http://localhost:8080/项目名/rest/greeting/World",此时会返回"Hello, World!"的字符串。 5. 如果想要在Java中调用这个RESTful服务,可以使用Java的HttpURLConnection类来发送HTTP请求,例如: ```java URL url = new URL("http://localhost:8080/项目名/rest/greeting/World"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Accept", "application/json"); BufferedReader br = new BufferedReader(new InputStreamReader( (conn.getInputStream()))); String output; System.out.println("Output from Server .... \n"); while ((output = br.readLine()) != null) { System.out.println(output); } conn.disconnect(); ``` 这个例子中,我们使用GET方法向"http://localhost:8080/项目名/rest/greeting/World"发送了一个HTTP请求,并打印出了服务端返回的字符串"Hello, World!"。 希望这些步骤可以帮助你创建和调用带参数的RESTful WebService
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值