请选择 进入手机版 | 继续访问电脑版

查看: 526|回复: 11

[iOS] windows, unity2017.2, 打包ios工程,使用了WebService,出错

[复制链接]

9

主题

49

帖子

635

贡献

中级UU族—1级

Rank: 4

积分
635
发表于 2017-12-6 12:17:35 | 显示全部楼层 |阅读模式
如题--------错误截图如下 在项目中使用了WebService 访问服务器数据库,请问大神这个错误的该怎么解决呢????

报错

报错

9

主题

49

帖子

635

贡献

中级UU族—1级

Rank: 4

积分
635
 楼主| 发表于 2017-12-6 13:26:02 | 显示全部楼层
已解决,只需将Player Setting 面板里 Api Compatibility Level 改成.net 2.0 即可 默认为.net 2.0 subset

1

主题

11

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
100
发表于 2018-3-26 03:26:29 | 显示全部楼层
楼主大神,我发布到iOS,在模拟器运行,调用webservice时报错:
MissingMethodException: No constructor found for System.Web.Services.Protocols.SoapTypeStubInfo::.ctor(System.Web.Services.Protocols.LogicalTypeInfo)
  at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
请问楼主大神遇到没?楼主是真机调试的还是模拟器?
如果遇到这个问题,请问楼主是怎么解决的?如果没遇到,请问楼主在unity是如何调用webservice的?
期待楼主的回复

9

主题

49

帖子

635

贡献

中级UU族—1级

Rank: 4

积分
635
 楼主| 发表于 2018-3-27 00:53:41 | 显示全部楼层
crazyfoods 发表于 2018-3-26 03:26
楼主大神,我发布到iOS,在模拟器运行,调用webservice时报错:
MissingMethodException: No constructor f ...

我在IOS真机调试也遇到和你同样的问题,下图是打印出来出错的。这是unity调用webservice方式 unity调用webservice 但是这种方式 最后博主也说了 只在windowns 和Android测试通过 在IOS就会出现问题。我最后解决的办法就是自己写一个你可以参考下。
[C#] 纯文本查看 复制代码
    public static XmlDocument GetCustomerInfos(string phone)
    {
        string url = @"http://10.10.10.10:8085/Operation.asmx/GetPicAndVideo";
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.KeepAlive = false;
        //request.ContentType = "text/xml";
        //request.Credentials = CredentialCache.DefaultCredentials;
        request.Timeout = 120000;
        string Pars = string.Format("phone={0}", phone);
        byte[] data = Encoding.UTF8.GetBytes(Pars);
        request.ContentLength = data.Length;

        Stream writer = request.GetRequestStream();
        writer.Write(data, 0, data.Length);
        writer.Close();
        try
        {
            WebResponse response = request.GetResponse();

            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            //response.Close();//关闭方法一 
            string retXml = sr.ReadToEnd();//关闭方法二
            sr.Close();//关闭方法三


            XmlDocument xmldoc = new XmlDocument();
            xmldoc.LoadXml(retXml);
            return xmldoc;
        }
        catch (WebException ex)
        {
            HttpWebResponse response = (HttpWebResponse)ex.Response;
            Console.WriteLine("Error code: {0}", response.StatusCode);
            //下面这段代码可以显示错误的详细信息
            //服务器返回什么错误码 就修改成对应的错误码 然后就可以看到详细的错误信息
            if (response.StatusCode == HttpStatusCode.InternalServerError)
            {
                using (Stream s = response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(s))
                    {
                        string text = reader.ReadToEnd();
                        Console.WriteLine(text);
                    }
                }
            }
        }

        return null;

    }
webservice具体怎么发布 可以参考这个C# 创建、部署和调用WebService的简单示例

IOS 真机调试,调用webservice出错

IOS 真机调试,调用webservice出错

1

主题

11

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
100
发表于 2018-3-27 07:28:37 | 显示全部楼层
谢谢大佬的耐心回复,我拿回去研究一下先。

1

主题

11

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
100
发表于 2018-3-27 07:49:13 | 显示全部楼层
  string url = @"http://10.10.10.10:8085/Operation.asmx/GetPicAndVideo";
楼主大佬,我看了很多帖子,他们的URL格式都有一个.asmx
而我们公司后台大哥给的就是一个wsdl地址,没有.asmx这个后缀
所以应该怎么样才能知道我的哪个才是正确的URL格式?
期待楼主回复。
另外目前我在寻找iOS使用wsdl2objc的方法,但是CSDN上面下载的工具在我电脑打开的试试都提示和我的系统版本不匹配,正在研究中

9

主题

49

帖子

635

贡献

中级UU族—1级

Rank: 4

积分
635
 楼主| 发表于 2018-3-28 03:16:48 | 显示全部楼层
crazyfoods 发表于 2018-3-27 07:49
string url = @"http://10.10.10.10:8085/Operation.asmx/GetPicAndVideo";
楼主大佬,我看了很多帖子, ...

你和后台大哥沟通一下 问一下呗 可能是后台大哥已经给你封装了

1

主题

11

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
100
发表于 2018-3-28 03:21:27 | 显示全部楼层
后台大哥是我直属领导,
让我先找工具,找不到再想办法

1

主题

11

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
100
发表于 2018-4-4 02:56:23 | 显示全部楼层
楼主大哥,我还是没有调用成功,您上面这段代码中,phone参数是指的哪些参数?我的参数有三个,第一个是string,第二个是string,第三个是json的string,对于方法名字是直接在URL中拼写吗?
希望楼主大哥能帮帮我,不胜感激!
我的微信号:18820232176
邮箱:18820232176@163.com
QQ号:517954007,

1

主题

11

帖子

100

贡献

初级UU族—2级

Rank: 2

积分
100
发表于 2018-4-4 02:57:50 | 显示全部楼层
我的回复怎么不见了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表