<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>gSOAP UDDI v2: uddi2__delete_USCOREservice Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.8 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>uddi2__delete_USCOREservice Class Reference</h1>Schema urn:uddi-org:api_v2:"delete_service".  
<a href="#_details">More...</a>
<p>
<code>#include &lt;uddi_v2.h&gt;</code>
<p>
<a href="classuddi2____delete___u_s_c_o_r_eservice-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a0">uddi2__delete_USCOREservice</a> (struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a1">uddi2__delete_USCOREservice</a> (struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *, const char *<a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o1">serviceKey</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a2">uddi2__delete_USCOREservice</a> (struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *, std::vector&lt; char * &gt; serviceKeys)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classuddi2____disposition_report.html">uddi2__dispositionReport</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a3">send</a> (const char *endpoint, char *<a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o0">authInfo</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a3"></a><br></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o0">authInfo</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element reference "urn:uddi-org:api_v2":authInfo.  <a href="#o0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="uddi__v2_8h.html#a4">uddi2__serviceKey</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o1">serviceKey</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector of uddi2__serviceKey with length 0..unbounded.  <a href="#o1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o2">generic</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attribute generic of type xs:string.  <a href="#o2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle to the soap struct context that manages this class instance.  <a href="#o3"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Schema urn:uddi-org:api_v2:"delete_service". 
<p>
Represents a request to delete a service that meets the specified requirements.<p>
See  <a href="http://uddi.org/pubs/ProgrammersAPI_v2.htm#_Toc25137735">http://uddi.org/pubs/ProgrammersAPI_v2.htm#_Toc25137735</a> 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="uddi2__delete_USCOREservice::uddi2__delete_USCOREservice" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> uddi2__delete_USCOREservice::uddi2__delete_USCOREservice           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>soap</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>soap</em>&nbsp;</td><td>gSOAP context</td></tr>
  </table>
</dl>
Creates an instance of the delete_USCOREservice class.     </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="uddi2__delete_USCOREservice::uddi2__delete_USCOREservice" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> uddi2__delete_USCOREservice::uddi2__delete_USCOREservice           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>soap</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>serviceKey</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>soap</em>&nbsp;</td><td>gSOAP context </td></tr>
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>serviceKey</em>&nbsp;</td><td>a service key string</td></tr>
  </table>
</dl>
Creates an instance of the delete_USCOREservice class using the specified service key.     </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="uddi2__delete_USCOREservice::uddi2__delete_USCOREservice" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> uddi2__delete_USCOREservice::uddi2__delete_USCOREservice           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>soap</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>std::vector&lt; char * &gt;&nbsp;</td>
          <td class="mdname" nowrap> <em>serviceKeys</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>soap</em>&nbsp;</td><td>gSOAP context </td></tr>
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>serviceKeys</em>&nbsp;</td><td>collection of service keys</td></tr>
  </table>
</dl>
Creates an instance of the delete_USCOREservice class using the specified service keys.     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a3" doxytag="uddi2__delete_USCOREservice::send" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classuddi2____disposition_report.html">uddi2__dispositionReport</a> * uddi2__delete_USCOREservice::send           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap> <em>authInfo</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>endpoint</em>&nbsp;</td><td>URL of the UDDI server </td></tr>
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>authInfo</em>&nbsp;</td><td>authorization token provided by the UDDI server </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>A pointer to a <a class="el" href="classuddi2____disposition_report.html">uddi2__dispositionReport</a> object or NULL on error</dd></dl>
Send a request to a UDDI service to delete a service that meets the specified requirements.     </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="o0" doxytag="uddi2__delete_USCOREservice::authInfo" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o0">uddi2__delete_USCOREservice::authInfo</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Element reference "urn:uddi-org:api_v2":authInfo. 
<p>
Required element     </td>
  </tr>
</table>
<a class="anchor" name="o2" doxytag="uddi2__delete_USCOREservice::generic" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o2">uddi2__delete_USCOREservice::generic</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Attribute generic of type xs:string. 
<p>
Required attribute     </td>
  </tr>
</table>
<a class="anchor" name="o1" doxytag="uddi2__delete_USCOREservice::serviceKey" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="uddi__v2_8h.html#a4">uddi2__serviceKey</a> &gt; <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o1">uddi2__delete_USCOREservice::serviceKey</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Vector of uddi2__serviceKey with length 0..unbounded. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="o3" doxytag="uddi2__delete_USCOREservice::soap" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> struct <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a>* <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">uddi2__delete_USCOREservice::soap</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A handle to the soap struct context that manages this class instance. 
<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li>/Users/engelen/Projects/gsoap/doc/uddi2/<a class="el" href="uddi__v2_8h.html">uddi_v2.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Wed Aug 17 16:16:59 2005 for gSOAP UDDI v2 by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>
