<!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__add_USCOREpublisherAssertions 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__add_USCOREpublisherAssertions Class Reference</h1>Schema urn:uddi-org:api_v2:"add_publisherAssertions".  
<a href="#_details">More...</a>
<p>
<code>#include &lt;uddi_v2.h&gt;</code>
<p>
<a href="classuddi2____add___u_s_c_o_r_epublisher_assertions-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____add___u_s_c_o_r_epublisher_assertions.html#a0">uddi2__add_USCOREpublisherAssertions</a> (struct <a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.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____add___u_s_c_o_r_epublisher_assertions.html#a1">uddi2__add_USCOREpublisherAssertions</a> (struct <a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.html#o3">soap</a> *, std::vector&lt; <a class="el" href="classuddi2____publisher_assertion.html">uddi2__publisherAssertion</a> * &gt; publisherAssertions)</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><a class="el" href="classuddi2____disposition_report.html">uddi2__dispositionReport</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.html#a2">send</a> (const char *endpoint, char *<a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.html#o0">authInfo</a>)</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 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____add___u_s_c_o_r_epublisher_assertions.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="classuddi2____publisher_assertion.html">uddi2__publisherAssertion</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.html#o1">publisherAssertion</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector of uddi2__publisherAssertion* 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____add___u_s_c_o_r_epublisher_assertions.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____add___u_s_c_o_r_epublisher_assertions.html#o3">soap</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.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:"add_publisherAssertions". 
<p>
Represents a request to add one or more publisher assertions to the assertion collection for an individual publisher.<p>
See  <a href="http://uddi.org/pubs/ProgrammersAPI_v2.htm#_Toc25137731">http://uddi.org/pubs/ProgrammersAPI_v2.htm#_Toc25137731</a> 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="uddi2__add_USCOREpublisherAssertions::uddi2__add_USCOREpublisherAssertions" ></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__add_USCOREpublisherAssertions::uddi2__add_USCOREpublisherAssertions           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.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 add_USCOREpublisherAssertions class.     </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="uddi2__add_USCOREpublisherAssertions::uddi2__add_USCOREpublisherAssertions" ></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__add_USCOREpublisherAssertions::uddi2__add_USCOREpublisherAssertions           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.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; <a class="el" href="classuddi2____publisher_assertion.html">uddi2__publisherAssertion</a> * &gt;&nbsp;</td>
          <td class="mdname" nowrap> <em>publisherAssertions</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>publisherAssertions</em>&nbsp;</td><td>collection of publisher assertions</td></tr>
  </table>
</dl>
Creates an instance of the add_USCOREpublisherAssertions class using the specified publisher assertions.     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a2" doxytag="uddi2__add_USCOREpublisherAssertions::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__add_USCOREpublisherAssertions::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 server to add one or more publisher assertions to the assertion collection for an individual publisher.     </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="o0" doxytag="uddi2__add_USCOREpublisherAssertions::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____add___u_s_c_o_r_epublisher_assertions.html#o0">uddi2__add_USCOREpublisherAssertions::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__add_USCOREpublisherAssertions::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____add___u_s_c_o_r_epublisher_assertions.html#o2">uddi2__add_USCOREpublisherAssertions::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__add_USCOREpublisherAssertions::publisherAssertion" ></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="classuddi2____publisher_assertion.html">uddi2__publisherAssertion</a>*&gt; <a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.html#o1">uddi2__add_USCOREpublisherAssertions::publisherAssertion</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Vector of uddi2__publisherAssertion* with length 0..unbounded. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="o3" doxytag="uddi2__add_USCOREpublisherAssertions::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____add___u_s_c_o_r_epublisher_assertions.html#o3">soap</a>* <a class="el" href="classuddi2____add___u_s_c_o_r_epublisher_assertions.html#o3">uddi2__add_USCOREpublisherAssertions::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:58 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>
