⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsdl.cpp

📁 linux下简单对象应用协议的开发库
💻 CPP
📖 第 1 页 / 共 3 页
字号:
}void wsdl__definitions::builtinElements(const SetOfString& elements){ for (SetOfString::const_iterator el = elements.begin(); el != elements.end(); ++el)   builtinElementSet.insert(*el);}void wsdl__definitions::builtinAttribute(const char *attribute){ builtinAttributeSet.insert(attribute);}void wsdl__definitions::builtinAttributes(const SetOfString& attributes){ for (SetOfString::const_iterator at = attributes.begin(); at != attributes.end(); ++at)    builtinAttributeSet.insert(*at);}const SetOfString& wsdl__definitions::builtinTypes() const{ return builtinTypeSet;}const SetOfString& wsdl__definitions::builtinElements() const{ return builtinElementSet;}const SetOfString& wsdl__definitions::builtinAttributes() const{ return builtinAttributeSet;}int wsdl__service::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl service " << (name?name:"") << endl;  // process ports  for (vector<wsdl__port>::iterator i = port.begin(); i != port.end(); ++i)    (*i).traverse(definitions);  return SOAP_OK;}wsdl__port::wsdl__port(){ bindingRef = NULL;}int wsdl__port::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl port" << endl;  // search binding name  const char *token = qname_token(binding, definitions.targetNamespace);  bindingRef = NULL;  if (token)  { for (vector<wsdl__binding>::iterator binding = definitions.binding.begin(); binding != definitions.binding.end(); ++binding)    { if ((*binding).name && !strcmp((*binding).name, token))      { bindingRef = &(*binding);        if (vflag)          cerr << "Found port " << (name?name:"") << " binding " << (token?token:"") << endl;        break;      }    }  }  if (!bindingRef)  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();      if (importdefinitions)      { token = qname_token(binding, importdefinitions->targetNamespace);        if (token)        { for (vector<wsdl__binding>::iterator binding = importdefinitions->binding.begin(); binding != importdefinitions->binding.end(); ++binding)          { if ((*binding).name && !strcmp((*binding).name, token))            { bindingRef = &(*binding);              if (vflag)                cerr << "Found port " << (name?name:"") << " binding " << (token?token:"") << endl;              break;            }          }        }      }    }  }  if (!bindingRef)    cerr << "Warning: no port '" << (name?name:"") << "' binding '" << (binding?binding:"") << "' in WSDL definitions '" << (definitions.name?definitions.name:"") << "' namespace " << (definitions.targetNamespace?definitions.targetNamespace:"?") << endl;  return SOAP_OK;}void wsdl__port::bindingPtr(wsdl__binding *binding){ bindingRef = binding;}wsdl__binding *wsdl__port::bindingPtr() const{ return bindingRef;}wsdl__binding::wsdl__binding(){ portTypeRef = NULL;}int wsdl__binding::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl bindings" << endl;  const char *token = qname_token(type, definitions.targetNamespace);  portTypeRef = NULL;  if (token)  { for (vector<wsdl__portType>::iterator portType = definitions.portType.begin(); portType != definitions.portType.end(); ++portType)    { if ((*portType).name && !strcmp((*portType).name, token))      { portTypeRef = &(*portType);        if (vflag)          cerr << "Found binding " << (name?name:"") << " portType " << (token?token:"") << endl;        break;      }    }  }  if (!portTypeRef)  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();      if (importdefinitions)      { token = qname_token(type, importdefinitions->targetNamespace);        if (token)        { for (vector<wsdl__portType>::iterator portType = importdefinitions->portType.begin(); portType != importdefinitions->portType.end(); ++portType)          { if ((*portType).name && !strcmp((*portType).name, token))            { portTypeRef = &(*portType);              if (vflag)                cerr << "Found binding " << (name?name:"") << " portType " << (token?token:"") << endl;              break;            }          }        }      }    }  }  if (!portTypeRef)    cerr << "Warning: no binding '" << (name?name:"") << "' portType '" << (type?type:"") << "' in WSDL definitions '" << (definitions.name?definitions.name:"") << "' namespace " << (definitions.targetNamespace?definitions.targetNamespace:"?") << endl;  for (vector<wsdl__binding_operation>::iterator i = operation.begin(); i != operation.end(); ++i)    (*i).traverse(definitions, portTypeRef);  return SOAP_OK;}void wsdl__binding::portTypePtr(wsdl__portType *portType){ portTypeRef = portType;}wsdl__portType *wsdl__binding::portTypePtr() const{ return portTypeRef;}wsdl__binding_operation::wsdl__binding_operation(){ operationRef = NULL;}int wsdl__binding_operation::traverse(wsdl__definitions& definitions, wsdl__portType *portTypeRef){ if (vflag)    cerr << "Analyzing wsdl binding operation" << endl;  if (input)    input->traverse(definitions);  if (output)    output->traverse(definitions);  for (vector<wsdl__ext_fault>::iterator i = fault.begin(); i != fault.end(); ++i)    (*i).traverse(definitions);  operationRef = NULL;  if (name && portTypeRef)  { for (vector<wsdl__operation>::iterator i = portTypeRef->operation.begin(); i != portTypeRef->operation.end(); ++i)    { if ((*i).name && !strcmp((*i).name, name))      { operationRef = &(*i);        if (vflag)          cerr << "Found operation " << (name?name:"") << endl;        break;      }    }  }  if (!operationRef)    cerr << "Warning: no operation '" << (name?name:"") << "' in WSDL definitions '" << (definitions.name?definitions.name:"") << "' namespace " << (definitions.targetNamespace?definitions.targetNamespace:"?") << endl;  else  { for (vector<wsdl__ext_fault>::iterator i = fault.begin(); i != fault.end(); ++i)    { if ((*i).name)      { for (vector<wsdl__fault>::iterator j = operationRef->fault.begin(); j != operationRef->fault.end(); ++j)        { if ((*j).name && !strcmp((*j).name, (*i).name))          { (*i).messagePtr((*j).messagePtr());            if (vflag)              cerr << "Found fault " << ((*j).name?(*j).name:"") << " message " << endl;            break;          }        }      }      else if ((*i).soap__fault_ && (*i).soap__fault_->name) // try the soap:fault name, this is not elegant, but neither is WSDL 1.1       { for (vector<wsdl__fault>::iterator j = operationRef->fault.begin(); j != operationRef->fault.end(); ++j)        { if ((*j).name && !strcmp((*j).name, (*i).soap__fault_->name))          { (*i).messagePtr((*j).messagePtr());            if (vflag)              cerr << "Found fault " << ((*j).name?(*j).name:"") << " message " << endl;            break;          }        }      }      if (!(*i).messagePtr())        cerr << "Warning: no soap:fault message in WSDL definitions '" << (definitions.name?definitions.name:"") << "' operation '" << (name?name:"") << "' namespace " << (definitions.targetNamespace?definitions.targetNamespace:"?") << endl;    }  }  return SOAP_OK;}void wsdl__binding_operation::operationPtr(wsdl__operation *operation){ operationRef = operation;}wsdl__operation *wsdl__binding_operation::operationPtr() const{ return operationRef;}int wsdl__ext_input::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl ext input" << endl;  for (vector<soap__header>::iterator hd = soap__header_.begin(); hd != soap__header_.end(); ++hd)    (*hd).traverse(definitions);  if (mime__multipartRelated_)    mime__multipartRelated_->traverse(definitions);  return SOAP_OK;}int wsdl__ext_output::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl ext output" << endl;  for (vector<soap__header>::iterator hd = soap__header_.begin(); hd != soap__header_.end(); ++hd)    (*hd).traverse(definitions);  if (mime__multipartRelated_)    mime__multipartRelated_->traverse(definitions);  return SOAP_OK;}wsdl__ext_fault::wsdl__ext_fault(){ messageRef = NULL;}int wsdl__ext_fault::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl ext fault" << endl;  messageRef = NULL;  return SOAP_OK;}void wsdl__ext_fault::messagePtr(wsdl__message *message){ messageRef = message;}wsdl__message *wsdl__ext_fault::messagePtr() const{ return messageRef;}int wsdl__portType::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl portType" << endl;  for (vector<wsdl__operation>::iterator i = operation.begin(); i != operation.end(); ++i)    (*i).traverse(definitions);  return SOAP_OK;}int wsdl__operation::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl operation" << endl;  if (input)    input->traverse(definitions);  if (output)    output->traverse(definitions);  for (vector<wsdl__fault>::iterator i = fault.begin(); i != fault.end(); ++i)    (*i).traverse(definitions);  return SOAP_OK;}wsdl__input::wsdl__input(){ messageRef = NULL;}int wsdl__input::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl input" << endl;  const char *token = qname_token(message, definitions.targetNamespace);  messageRef = NULL;  if (token)  { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)    { if ((*message).name && !strcmp((*message).name, token))      { messageRef = &(*message);        if (vflag)          cerr << "Found input " << (name?name:"") << " message " << (token?token:"") << endl;        break;      }    }  }  if (!messageRef)  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();      if (importdefinitions)      { token = qname_token(message, importdefinitions->targetNamespace);        if (token)        { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)          { if ((*message).name && !strcmp((*message).name, token))            { messageRef = &(*message);              if (vflag)                cerr << "Found input " << (name?name:"") << " message " << (token?token:"") << endl;              break;            }          }        }      }    }  }  if (!messageRef)    cerr << "Warning: no input '" << (name?name:"") << "' message '" << (message?message:"") << "' in WSDL definitions '" << (definitions.name?definitions.name:"") << "' namespace " << (definitions.targetNamespace?definitions.targetNamespace:"?") << endl;  return SOAP_OK;}void wsdl__input::messagePtr(wsdl__message *message){ messageRef = message;}wsdl__message *wsdl__input::messagePtr() const{ return messageRef;}wsdl__output::wsdl__output(){ messageRef = NULL;}int wsdl__output::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl output" << endl;  const char *token = qname_token(message, definitions.targetNamespace);  messageRef = NULL;  if (token)  { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)    { if ((*message).name && !strcmp((*message).name, token))      { messageRef = &(*message);        if (vflag)          cerr << "Found output " << (name?name:"") << " message " << (token?token:"") << endl;        break;      }    }  }  if (!messageRef)  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();      if (importdefinitions)      { token = qname_token(message, importdefinitions->targetNamespace);        if (token)        { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)          { if ((*message).name && !strcmp((*message).name, token))            { messageRef = &(*message);              if (vflag)                cerr << "Found output " << (name?name:"") << " message " << (token?token:"") << endl;              break;            }          }        }      }    }  }  if (!messageRef)    cerr << "Warning: no output '" << (name?name:"") << "' message '" << (message?message:"") << "' in WSDL definitions '" << (definitions.name?definitions.name:"") << "' namespace " << (definitions.targetNamespace?definitions.targetNamespace:"?") << endl;  return SOAP_OK;}void wsdl__output::messagePtr(wsdl__message *message){ messageRef = message;}wsdl__message *wsdl__output::messagePtr() const{ return messageRef;}wsdl__fault::wsdl__fault(){ messageRef = NULL;}int wsdl__fault::traverse(wsdl__definitions& definitions){ if (vflag)    cerr << "Analyzing wsdl fault" << endl;  const char *token = qname_token(message, definitions.targetNamespace);  messageRef = NULL;  if (token)  { for (vector<wsdl__message>::iterator message = definitions.message.begin(); message != definitions.message.end(); ++message)    { if ((*message).name && !strcmp((*message).name, token))      { messageRef = &(*message);        if (vflag)          cerr << "Found fault " << (name?name:"") << " message " << (token?token:"") << endl;        break;      }    }  }  if (!messageRef)  { for (vector<wsdl__import>::iterator import = definitions.import.begin(); import != definitions.import.end(); ++import)    { wsdl__definitions *importdefinitions = (*import).definitionsPtr();      if (importdefinitions)      { token = qname_token(message, importdefinitions->targetNamespace);        if (token)        { for (vector<wsdl__message>::iterator message = importdefinitions->message.begin(); message != importdefinitions->message.end(); ++message)          { if ((*message).name && !strcmp((*message).name, token))            { messageRef = &(*message);              if (vflag)                cerr << "Found output " << (name?name:"") << " message " << (token?token:"") << endl;              break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -