首页 > 解决方案 > 使用 Gsoap 访问 IIS Web 服务时出现分段错误

问题描述

我有这个 python 代码来访问 web 服务。

import urllib.request
import ssl
import suds.transport.http
import os.path
from os import path
from suds.client import Client
import json
import time

class UnverifiedHttpsTransport(suds.transport.http.HttpTransport):
  def __init__(self, *args, **kwargs):
     super(UnverifiedHttpsTransport, self).__init__(*args, **kwargs)
  def u2handlers(self):
     handlers = super(UnverifiedHttpsTransport, self).u2handlers()
     context = ssl.create_default_context()
     context.check_hostname = False
     context.verify_mode = ssl.CERT_NONE
     handlers.append(urllib.request.HTTPSHandler(context=context))
     return handlers

url="https://xxxxxxx.com/datamanagement.asmx?WSDL"
client = Client(url, transport=UnverifiedHttpsTransport())
client.service.ClearPeopleStatus()

def InsertPeopleData(data):
  info=data.decode("utf-8")
  json_obj = json.dumps(json.loads(info))
  ret_ = client.service.ReadPeopleStatus()
  ret=client.service.InsertPeopleData(json_obj)  
  return

该代码是使用 Gsoap 将数据更新到 IIS Web 服务。如果我不调用这两个 APIclient.service.ReadPeopleStatus()ret=client.service.InsertPeopleData(json_obj),我的程序运行正常。

如果我调用这两个 API,就会出现分段错误(核心转储)。

我该如何解决这个问题?

标签: web-serviceswebservice-clientsudsgsoap

解决方案


推荐阅读