Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpMessage.setMethod(HttpMessage.POST)在阻止SenderDestination时由GET更改_Java_Blackberry_Mobile_Soap - Fatal编程技术网

Java HttpMessage.setMethod(HttpMessage.POST)在阻止SenderDestination时由GET更改

Java HttpMessage.setMethod(HttpMessage.POST)在阻止SenderDestination时由GET更改,java,blackberry,mobile,soap,Java,Blackberry,Mobile,Soap,我正在尝试将Blackberry应用程序从OS 6迁移到OS 7(我的应用程序目前在OS 6上运行)。理论上它不会引起任何问题,但我发现了一个我仍然无法解决的问题。在执行对web服务(SOAP)的调用时,我将HttpMessages设置为使用POST方法,但在执行调用时,它作为GET到达服务器。这对我来说是个大问题,因为我使用的服务器不支持GET(总是导致“Http 500错误”)。这个问题不会发生在模拟器上,只会发生在设备上 你知道这方面有什么解决办法吗?这是操作系统版本的问题吗?(我使用的代

我正在尝试将Blackberry应用程序从OS 6迁移到OS 7(我的应用程序目前在OS 6上运行)。理论上它不会引起任何问题,但我发现了一个我仍然无法解决的问题。在执行对web服务(SOAP)的调用时,我将HttpMessages设置为使用POST方法,但在执行调用时,它作为GET到达服务器。这对我来说是个大问题,因为我使用的服务器不支持GET(总是导致“Http 500错误”)。这个问题不会发生在模拟器上,只会发生在设备上

你知道这方面有什么解决办法吗?这是操作系统版本的问题吗?(我使用的代码见下文)

装置 型号:Bold 9930 航母:斯普林特 操作系统:7.0捆绑1296(v7.0.0.241,平台5.0.0.442)

模拟器(在模拟器方面,我没有任何问题) 型号:Bold 9930 操作系统:1962年7.0捆绑包(v7.0.0.4402011年9月24日签署,平台4.0.0.141)


你确定没有坏的代理在服务器和设备之间捣乱吗?此外,根据HTTP规范,返回500错误的服务器并不表示它不支持GET方法。这可能是405或501错误。我在不同的地方(在我家的办公室)进行了尝试,在服务器端进行了调试,我可以看到消息是使用GET方法到达的,当前在我尝试制作应用程序的服务器应用程序上,不支持GET方法,我从服务器得到的完整响应是未找到的操作的端点引用(EPR)是/axis2/services/SystemService,WSA Action=null,我无法理解为什么消息总是通过GET方法到达?此外,我的应用程序在具有OS 6的设备和模拟器Bold 9930 OS 7上运行良好,调用之间的唯一区别是HTTP方法,使用该方法可以到达服务器
public void run() {
        context.setEnableBtnsend(false);
        BlockingSenderDestination blockSendDest = null;

        try {
            URI uri = URI.create(URL_BASE);
            blockSendDest
                = (BlockingSenderDestination) DestinationFactory.getSenderDestination(
                senderContext.getName(), uri);

            if (blockSendDest == null) {
                blockSendDest = DestinationFactory.createBlockingSenderDestination(
                    senderContext, uri);
            }

            ByteMessage requestMessage = blockSendDest.createByteMessage();
            requestMessage.setTransportHeader("Content-Type", "text/xml;charset=UTF-8");
            requestMessage.setTransportHeader("SOAPAction", "\"\"");
            // getBodyRequest() -> Insert SOAP request, works fine, was tested on SOAP UI
            requestMessage.setStringPayload(getBodyRequest());
            ((HttpMessage) requestMessage).setMethod(HttpMessage.POST);
            blockSendDest.resume();
            Message response = blockSendDest.sendReceive(requestMessage);

            if (response != null) {
                procesMessageResponse(response);
            }
            // ...
        }
        catch (Exception ex) {
             handleException(ex);
        }