我想在SSL连接中连接到Web服务。我连接到它,然后获得Service
和Port
,但是当我发送请求时,它只是返回null
。
我搜索了网络,但我不明白问题是什么。可能是因为它是SSL,我需要将其连接为HTTP连接,是否是真的?
我使用了自动代码生成器,它们也返回null
,Wireshark说SSL软件包正确地传输了,但是我无法从这些软件包中读取肥皂,因为它们是SSL。
我使用一些应用程序和工具测试Web服务,并从中获得了正确的答案。
问题:
-
null
值可能是因为SSL连接? - 哪些错误可以使此
null
返回? - 我如何看到我发送的肥皂Messeges?
这是我的Java代码:
public class WS_TheServeice
{
private static QName qname;
private static URL url;
private static Service service;
private static ImplementationServicePortType sender;
static
{
qname = new QName("http://wservice.com/", "ImplementationService");
try
{
url = new URL("https://to-service?wsdl");
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
service = Service.create(url, qname);
sender = service.getPort(ImplementationServicePortType.class);
}
public static boolean PayToAcceptor(int AcceptorID, int Kipa) throws Exception
{
getUserInfo req = new getUserInfo();
req.zpID = AcceptorID;
req.kipa = Kipa;
getUserInfoResponse user_info = new getUserInfoResponse();//user_info is not NULL here
user_info = sender.getUserInfo(req);//But web server makes it NULL
if (user_info!=null) //// ---- HERE, IT Always return NULL
{
System.out.println("YouWon");
return true;
}
else
{
System.out.println("YouLoose");
return false;
}
}
public static void main(String Args[]) throws Exception
{
PayToAcceptor(12345, 1);
}
}
谢谢。
您是否弄清楚了如何做到这一点?过去我有类似的问题。
您是否尝试过:用于消费Web服务的SSL连接?