什么会导致Web服务方法更改传入的变量的值?

时间:2014-08-04 02:48:14

标签: java web-services

我是Web服务开发的新手,所以也许我不知道什么......我有一个Web服务类目前有两种方法。以下只是第二种方法的第一部分。

@WebMethod(operationName = "getPassengerName")
public String getPassengerName(@WebParam(name = "passengerId ") int passengerId)
{
   //MySQL elements
   Connection connection;
   ResultSet rs = null;

   String returnValue = "start method with passengerId having a value of: " + passengerId;

当我在NetBeans中运行“测试Web服务”时,传入1,附加到字符串的passengerId为0.

getPassengerName Method invocation

Method parameter(s)

Type    Value
int     1
Method returned

java.lang.String : "start method with passengerId having a value of: 0"

是什么让这种情况发生?我很感激任何人都能提供的见解。

新内容

为回应EJK关于不在passengerID中的价值的帖子,我在“测试网络服务”测试中添加了更多的屏幕打印。

SOAP Request

<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <S:Body>
        <ns2:getPassengerName xmlns:ns2="http://database_access.lytthouseair.com/">
            <passengerId>1</passengerId>
        </ns2:getPassengerName>
    </S:Body>
</S:Envelope>

1 个答案:

答案 0 :(得分:0)

我想我已经遇到了这个问题。我认为这是NetBeans IDE中的一个错误。我创建了一个新方法,我在这个方法之后模拟了它不起作用:

@WebMethod(operationName = "getPassengerName")
public String getPassengerName(@WebParam(name = "passengerId ") int passengerId)

输入:

@WebMethod(operationName = "getFirstName")
public String getFirstName(@WebParam(name="passengerNumber") int passengerNumber)

然后我简单地将我的所有代码复制到这个新方法中,当我检查代码顶部传递的变量的值时,它工作 - 1仍然是1(不是0)。

这是在NetBeans 8.0中