JAVA Web Service with SOAP Client Objective C---响应问题

发布于 2024-12-02 03:43:09 字数 2815 浏览 2 评论 0原文

我在 Java 中有这个 Web 服务:

@WebService(serviceName = "Catalogo_V1")
public class Catalogo_V1 {

    /** This is a sample web service operation */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) 
    {
        return "Hello " + txt + " !";
    }
}

这部分在 Objective C 中(使用 WSDL2ObjC 生成代码后):

- (IBAction)buttonPressed:(id)sender 
{

    Catalogo_V1PortBinding *binding = [[Catalogo_V1Svc Catalogo_V1PortBinding] initWithAddress:@"http://localhost:8080/WSServer/Catalogo_V1.wsdl"];
    binding.logXMLInOut = YES;  // to get logging to the console.

    Catalogo_V1Svc_hello *r = [[Catalogo_V1Svc_hello alloc] init];

    //NSLog(@"request: %@",r);

    [r setName:i.text];
    //NSLog(@"string: %@ ",i.text);

    Catalogo_V1PortBindingResponse *resp = [binding helloUsingParameters:(Catalogo_V1Svc_hello *)r];

    NSLog(@"response: %@",resp);

    for (id mine in resp.bodyParts)
    {
        if ([mine isKindOfClass:[Catalogo_V1Svc_helloResponse class]])
        {
            //lab.text = [mine Catalogo_V1Svc_helloResponse];
        }
    }
}

并且我的控制台显示以下消息:

2

011-08-30 17:00:11.572 Catalogo-V1[3876:207] OutputHeaders:
{
    "Content-Length" = 451;
    "Content-Type" = "text/xml; charset=utf-8";
    Host = localhost;
    Soapaction = "";
    "User-Agent" = wsdl2objc;
}
2011-08-30 17:00:11.572 Catalogo-V1[3876:207] OutputBody:
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:Catalogo_V1Svc="http://org/" xsl:version="1.0">
  <soap:Body>
    <Catalogo_V1Svc:hello>
      <Catalogo_V1Svc:name>ddddddd</Catalogo_V1Svc:name>
    </Catalogo_V1Svc:hello>
  </soap:Body>
</soap:Envelope>
2011-08-30 17:00:11.593 Catalogo-V1[3876:207] Response HTTP:
<NSHTTPURLResponse: 0x5b1ffd0>
2011-08-30 17:00:11.593 Catalogo-V1[3876:207] ResponseStatus: 404
2011-08-30 17:00:11.593 Catalogo-V1[3876:207] ResponseHeaders:
{
    "Content-Length" = 1067;
    "Content-Type" = "text/html";
    Date = "Tue, 30 Aug 2011 15:00:11 GMT";
    Server = "GlassFish Server Open Source Edition 3.1.1";
    "X-Powered-By" = "Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.1 Java/Apple Inc./1.6)";
}
2011-08-30 17:00:11.617 Catalogo-V1[3876:207] ResponseError:
Error Domain=Catalogo_V1PortBindingResponseHTTP Code=404 "not found" UserInfo=0x5b2a320 {NSLocalizedDescription=not found}
2011-08-30 17:00:11.618 Catalogo-V1[3876:207] response: <Catalogo_V1PortBindingResponse: 0x5b25bd0>

输出正确,但我没有收到任何响应...

I have this web service in Java:

@WebService(serviceName = "Catalogo_V1")
public class Catalogo_V1 {

    /** This is a sample web service operation */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) 
    {
        return "Hello " + txt + " !";
    }
}

and this part in Objective C (after generate code with WSDL2ObjC):

- (IBAction)buttonPressed:(id)sender 
{

    Catalogo_V1PortBinding *binding = [[Catalogo_V1Svc Catalogo_V1PortBinding] initWithAddress:@"http://localhost:8080/WSServer/Catalogo_V1.wsdl"];
    binding.logXMLInOut = YES;  // to get logging to the console.

    Catalogo_V1Svc_hello *r = [[Catalogo_V1Svc_hello alloc] init];

    //NSLog(@"request: %@",r);

    [r setName:i.text];
    //NSLog(@"string: %@ ",i.text);

    Catalogo_V1PortBindingResponse *resp = [binding helloUsingParameters:(Catalogo_V1Svc_hello *)r];

    NSLog(@"response: %@",resp);

    for (id mine in resp.bodyParts)
    {
        if ([mine isKindOfClass:[Catalogo_V1Svc_helloResponse class]])
        {
            //lab.text = [mine Catalogo_V1Svc_helloResponse];
        }
    }
}

and my console show this messages:

2

011-08-30 17:00:11.572 Catalogo-V1[3876:207] OutputHeaders:
{
    "Content-Length" = 451;
    "Content-Type" = "text/xml; charset=utf-8";
    Host = localhost;
    Soapaction = "";
    "User-Agent" = wsdl2objc;
}
2011-08-30 17:00:11.572 Catalogo-V1[3876:207] OutputBody:
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:Catalogo_V1Svc="http://org/" xsl:version="1.0">
  <soap:Body>
    <Catalogo_V1Svc:hello>
      <Catalogo_V1Svc:name>ddddddd</Catalogo_V1Svc:name>
    </Catalogo_V1Svc:hello>
  </soap:Body>
</soap:Envelope>
2011-08-30 17:00:11.593 Catalogo-V1[3876:207] Response HTTP:
<NSHTTPURLResponse: 0x5b1ffd0>
2011-08-30 17:00:11.593 Catalogo-V1[3876:207] ResponseStatus: 404
2011-08-30 17:00:11.593 Catalogo-V1[3876:207] ResponseHeaders:
{
    "Content-Length" = 1067;
    "Content-Type" = "text/html";
    Date = "Tue, 30 Aug 2011 15:00:11 GMT";
    Server = "GlassFish Server Open Source Edition 3.1.1";
    "X-Powered-By" = "Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.1 Java/Apple Inc./1.6)";
}
2011-08-30 17:00:11.617 Catalogo-V1[3876:207] ResponseError:
Error Domain=Catalogo_V1PortBindingResponseHTTP Code=404 "not found" UserInfo=0x5b2a320 {NSLocalizedDescription=not found}
2011-08-30 17:00:11.618 Catalogo-V1[3876:207] response: <Catalogo_V1PortBindingResponse: 0x5b25bd0>

the output its correct but i dont recieve any response....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萧瑟寒风 2024-12-09 03:43:09

您的服务器响应 HTTP 状态 404(未找到文件),这意味着客户端正在发布其对服务器未配置为响应的端点 (URL) 的 SOAP 请求。

例如,您的客户端可能会定向到 http://localhost:8080/foo
但服务器正在监听 http://localhost/bar

检查客户端上的端点 URL 和服务器配置,以确保它正在侦听同一 URL。

Your server responds with HTTP status 404 (File Not Found), which means that the client is posting its SOAP request to an endpoint (URL) that the server isn't configured to respond to.

For example, your client might be directed at http://localhost:8080/foo
but the server is listening at http://localhost/bar.

Check the endpoint URL on your client and the server configuration to ensure it is listening at the same URL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文