Consuming Web services with Microsoft .NET Part of BookMARC TVS papers The new Microsoft development platform has a simple and straightforward way to consume webservices. In the next steps we will see how this is done: - Start by opening Visual Studio .NET
- Create a Windows Application Project
- Under the Solution Explorer right-click on the solution name and choose Add Web Reference
- Type the address where the web service is located: http://sirius.bn.pt
- We can choose the option View Contract to look at the web service description
| Adding a web reference | - Add the web reference
- Add controls to the form, to get user input and display the results, and code to execute the services
- See the services description bellow for some code examples
Monitoring Visual Studio .NET doesn't includes a TCP monitor. The Axis monitor can be used instead or you can download the Microsoft SOAP Toolkit from http://msdn.microsoft.com and use its Trace Utility. If you're going to use the Axis monitor see Axis Monitoring. Using the Microsoft SOAP Toolkit Trace Utility - Execute the Trace Utility
- Add a new Formated Trace
- In the Trace Setup add the following values:
-
- Local port # - select a local port to be monitored (example: 9090)
- Destination host - sirius.bn.pt
- Destination port - 80
- Click Ok
- The monitor is ready, now we have to make a small change to the generated code:
-
- Open the Reference.vb file which is located in the project directory under Web References\pt.sirius.bn and change the Me.Url variable value to:
http://localhost:9090/sirius/sirius2.exe - Now we can see the SOAP request and the service SOAP response
Get Record by ISBN Input parameters | | Output parameters | | Sample code | Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' create a new web service Dim service As pt.bn.sirius.GetRecordService service = New pt.bn.sirius.GetRecordService() ' create a MarcXML object to store the results of the service Dim record As pt.bn.sirius.MarcXML record = New pt.bn.sirius.MarcXML() ' invoke the service with an ISBN record = service.getRecordByISBN(TextBox1.Text) Dim Idx As Integer Dim fStr As String ' store the content of all fields from the MarcXML For Idx = 0 To record.fields.Length - 1 fStr = fStr & record.fields(Idx).tag & ": " & record.fields(Idx).content & vbCrLf Next ' display the MarcXML TextBox2.Text = fStr End Sub | SOAP Call | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://giotto/sirius/sirius.exe/GetRecordService.wsdl" xmlns:types="http://giotto/sirius/sirius.exe/GetRecordService.wsdl/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <q1:getRecordByISBN xmlns:q1="getRecordByISBN"> <isbn xsi:type="xsd:string">3-598-11211-4</isbn> </q1:getRecordByISBN> </soap:Body> </soap:Envelope> | SOAP Answer | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <s:session xmlns:s="http://sirius.bookmarc.pt/soap-ns"> <id>E03933B9-B99E-4647-8C7A-47EE7D89FE60</id> <user/> </s:session> </SOAP-ENV:Header> <SOAP-ENV:Body> <methodns:getRecordByISBNResponse xmlns:methodns="getRecordByISBN"> <marcXML xsi:type="typens:MarcXML" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typens="http://sirius.bookmarc.pt/soap-ns"> <leader xsi:type="typens:LeaderXML"> <content xsi:type="xsd:string"><![CDATA[00626nam 5 002055 45 ]]></content> <bibliographicLevel xsi:type="xsd:string"><![CDATA[m]]></bibliographicLevel> <cataloguingForm xsi:type="xsd:string"><![CDATA[ ]]></cataloguingForm> <encodingLevel xsi:type="xsd:string"><![CDATA[5]]></encodingLevel> <hierarchicalLevelCode xsi:type="xsd:string"><![CDATA[ ]]></hierarchicalLevelCode> <recordStatus xsi:type="xsd:string"><![CDATA[n]]></recordStatus> <recordType xsi:type="xsd:string"><![CDATA[a]]></recordType> </leader> <fields xsi:type="typens:ArrayOf_FieldXML" SOAP-ENC:arrayType="typens:FieldXML[15]" xmlns:marcns="urn:Marc"> <field> <tag xsi:type="xsd:string">001</tag> <content xsi:type="xsd:string"><![CDATA[667855]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">0</pos> <subfields xsi:nil="true"/> </field> <field> <tag xsi:type="xsd:string">005</tag> <content xsi:type="xsd:string"><![CDATA[19990106000000.0]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> <subfields xsi:nil="true"/> </field> <field> <tag xsi:type="xsd:string">010</tag> <content xsi:type="xsd:string"><![CDATA[ ^a3-598-11211-4]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[3-598-11211-4]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">095</tag> <content xsi:type="xsd:string"><![CDATA[ ^aPTBN00879584]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[PTBN00879584]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">100</tag> <content xsi:type="xsd:string"><![CDATA[ ^a19950506d1994 k y0pory0103 ba]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">4</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[19950506d1994 k y0pory0103 ba]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">101</tag> <content xsi:type="xsd:string"><![CDATA[0 ^aeng]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[0]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">5</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[eng]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">102</tag> <content xsi:type="xsd:string"><![CDATA[ ^aDE]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">6</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[DE]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">200</tag> <content xsi:type="xsd:string"> <![CDATA[1 ^aUnimarc manual^ebibliographic format^fInternational Federation of Library Associations and Institutions]]> </content> <indicator1 xsi:type="xsd:string"><![CDATA[1]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">7</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[Unimarc manual]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">e</tag> <content xsi:type="xsd:string"><![CDATA[bibliographic format]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">f</tag> <content xsi:type="xsd:string"> <![CDATA[International Federation of Library Associations and Institutions]]> </content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">205</tag> <content xsi:type="xsd:string"><![CDATA[ ^a2nd ed]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">8</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[2nd ed]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">210</tag> <content xsi:type="xsd:string"><![CDATA[ ^aMunchen^cK. G. Saur,^d1994]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">9</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[Munchen]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">c</tag> <content xsi:type="xsd:string"><![CDATA[K. G. Saur,]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">d</tag> <content xsi:type="xsd:string"><![CDATA[1994]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">215</tag> <content xsi:type="xsd:string"><![CDATA[ ^a802, [90] p., pag. var]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">10</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[802, [90] p., pag. var]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">225</tag> <content xsi:type="xsd:string"><![CDATA[2 ^aUBCIM Publications^hNew series^vvol. 14)]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[2]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">11</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[UBCIM Publications]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">h</tag> <content xsi:type="xsd:string"><![CDATA[New series]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">v</tag> <content xsi:type="xsd:string"><![CDATA[vol. 14)]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">710</tag> <content xsi:type="xsd:string"><![CDATA[02^aInternational Federation of Library Associations]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[0]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[2]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">12</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[International Federation of Library Associations]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">801</tag> <content xsi:type="xsd:string"><![CDATA[ 0^aPT^bBN^gRPC]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[0]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">13</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[PT]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">b</tag> <content xsi:type="xsd:string"><![CDATA[BN]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">g</tag> <content xsi:type="xsd:string"><![CDATA[RPC]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">998</tag> <content xsi:type="xsd:string"><![CDATA[ ^aUAV78-393]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">14</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[UAV78-393]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> </fields> </marcXML> </methodns:getRecordByISBNResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> | Search Input parameters | - terms - Array of Strings. Each term identifies the search prefix, matches the corresponding value. See the next term list for details:
- AS - Subject
- AU - Author
- DP - Publishing date
- CDU - Universal Decimal Classification
- ED - Publisher
- COL - Series
- ISBN - ISBN
- TI - Title
- empty term - Word search
- values - Array of Strings. The values to search for. Values can be prefixed with logical operators to restrict the search result:
- < - Lower than
- > - Greater than
- = - Equal to
- <= - Lower than or equal to
- >= - Greater than or equal to
- precedences - Array of Integers
- operators - Array of Strings. The pairs term-value are linked by the operator wich assumes the values AND, OR and AND NOT
- pagesize - Integer. The number of records by page
- pagenumber - Integer. The page number.
| Output parameters | - marcXML - Array of MarcXML objects
| Sample code | Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' create a new web service Dim service As pt.bn.sirius.SearchService service = New pt.bn.sirius.SearchService() ' create an array for the terms Dim terms(1) As String If cmbTerms01.Text = "Title" Then terms(0) = "TI" ElseIf cmbTerms01.Text = "Author" Then terms(0) = "AU" ElseIf cmbTerms01.Text = "Subject" Then terms(0) = "AS" Else terms(0) = cmbTerms01.Text End If If cmbTerms01.Text = "Title" Then terms(1) = "TI" ElseIf cmbTerms01.Text = "Author" Then terms(1) = "AU" ElseIf cmbTerms01.Text = "Subject" Then terms(1) = "AS" Else terms(1) = cmbTerms01.Text End If ' create an array for the values Dim values(1) As String values(0) = txtValue01.Text values(1) = txtValue02.Text ' create an array for the precedences Dim precedences(1) As Integer precedences(0) = 1 precedences(1) = 1 ' create an array for the operators Dim operators(1) As String operators(0) = cmbOps.Text operators(1) = "AND" ' create an array to get the results of the service Dim records() As pt.bn.sirius.MarcXML ' invoke the service records = service.search(terms, values, precedences, operators, 10, 1) Dim Idx, I As Integer Dim fStr As String ' display the results fStr = "FOUND " & records.Length & " RECORD(S)" & vbCrLf & vbCrLf For Idx = 0 To records.Length - 1 Dim record As pt.bn.sirius.MarcXML record = records(Idx) For I = 0 To record.fields.Length - 1 fStr = fStr & record.fields(I).tag & ": " & record.fields(I).content & vbCrLf Next fStr = fStr & vbCrLf & "**********************************************" & vbCrLf Next txtResult.Text = fStr End Sub | SOAP Call | <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:search xmlns:ns1="search"> <terms xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]" xmlns:ns2="http://sirius.bookmarc.pt/soap-ns"> <item>AU</item> <item>TI</item> </terms> <values xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]" xmlns:ns3="http://sirius.bookmarc.pt/soap-ns"> <item>Campos</item> <item>Unimarc</item> </values> <precedences xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:int[2]" xmlns:ns4="http://sirius.bookmarc.pt/soap-ns"> <item>1</item> <item>1</item> </precedences> <operators xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]" xmlns:ns5="http://sirius.bookmarc.pt/soap-ns"> <item>AND</item> <item>AND</item> </operators> <pagesize xsi:type="xsd:int">10</pagesize> <pagenumber xsi:type="xsd:int">1</pagenumber> </ns1:search> </SOAP-ENV:Body> </SOAP-ENV:Envelope> | SOAP Answer | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <s:session xmlns:s="http://sirius.bookmarc.pt/soap-ns"> <id>ADD615E0-C2C2-435C-81AC-6F85D1AC4516</id> <user/> </s:session> </SOAP-ENV:Header> <SOAP-ENV:Body> <methodns:searchResponse xmlns:methodns="search"> <searchResult xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="typens:MarcXML[1]" xmlns:marcns="urn:Search" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typens="http://sirius.bookmarc.pt/soap-ns"> <record xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <leader xsi:type="typens:LeaderXML"> <content xsi:type="xsd:string"><![CDATA[00609nam 00205 4 45 ]]></content> <bibliographicLevel xsi:type="xsd:string"><![CDATA[m]]></bibliographicLevel> <cataloguingForm xsi:type="xsd:string"><![CDATA[4]]></cataloguingForm> <encodingLevel xsi:type="xsd:string"><![CDATA[ ]]></encodingLevel> <hierarchicalLevelCode xsi:type="xsd:string"><![CDATA[ ]]></hierarchicalLevelCode> <recordStatus xsi:type="xsd:string"><![CDATA[n]]></recordStatus> <recordType xsi:type="xsd:string"><![CDATA[a]]></recordType> </leader> <fields xsi:type="typens:ArrayOf_FieldXML" SOAP-ENC:arrayType="typens:FieldXML[15]" xmlns:marcns="urn:Marc"> <field> <tag xsi:type="xsd:string">001</tag> <content xsi:type="xsd:string"><![CDATA[0981]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">0</pos> <subfields xsi:nil="true"/> </field> <field> <tag xsi:type="xsd:string">005</tag> <content xsi:type="xsd:string"><![CDATA[990101000000.0]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> <subfields xsi:nil="true"/> </field> <field> <tag xsi:type="xsd:string">010</tag> <content xsi:type="xsd:string"><![CDATA[^^Brochado]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[2]"> <subfield> <tag xsi:type="xsd:string"/> <content xsi:type="xsd:string"><![CDATA[Brochado]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">B</tag> <content xsi:type="xsd:string"><![CDATA[rochado]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">095</tag> <content xsi:type="xsd:string"><![CDATA[^^PTBN00653291]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[2]"> <subfield> <tag xsi:type="xsd:string"/> <content xsi:type="xsd:string"><![CDATA[PTBN00653291]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">P</tag> <content xsi:type="xsd:string"><![CDATA[TBN00653291]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">100</tag> <content xsi:type="xsd:string"><![CDATA[ ^a19881117d1986 m a0pory0103 ba]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">4</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[19881117d1986 m a0pory0103 ba]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">101</tag> <content xsi:type="xsd:string"><![CDATA[0 ^apor]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[0]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">5</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[por]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">102</tag> <content xsi:type="xsd:string"><![CDATA[ ^aPT]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">6</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[PT]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">200</tag> <content xsi:type="xsd:string"> <![CDATA[1 ^aUNIMARC^eManual de operações^fFernanda Maria Guedes de Campos, José Carlos Sottomayor]]> </content> <indicator1 xsi:type="xsd:string"><![CDATA[1]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">7</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[UNIMARC]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">e</tag> <content xsi:type="xsd:string"><![CDATA[Manual de operações]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">f</tag> <content xsi:type="xsd:string"> <![CDATA[Fernanda Maria Guedes de Campos, José Carlos Sottomayor]]> </content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">210</tag> <content xsi:type="xsd:string"><![CDATA[ ^aLisboa^cBiblioteca Nacional,^d1986]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">8</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[Lisboa]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">c</tag> <content xsi:type="xsd:string"><![CDATA[Biblioteca Nacional,]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">d</tag> <content xsi:type="xsd:string"><![CDATA[1986]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">215</tag> <content xsi:type="xsd:string"><![CDATA[ ^a1 pasta (pag. var.)^d32 cm]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">9</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[2]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[1 pasta (pag. var.)]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">d</tag> <content xsi:type="xsd:string"><![CDATA[32 cm]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">700</tag> <content xsi:type="xsd:string"><![CDATA[ 1^aCampos,^bFernanda Maria Guedes de,^f1949-]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[1]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">10</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[Campos,]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">b</tag> <content xsi:type="xsd:string"><![CDATA[Fernanda Maria Guedes de,]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">f</tag> <content xsi:type="xsd:string"><![CDATA[1949-]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">701</tag> <content xsi:type="xsd:string"><![CDATA[ 1^aSotomaior,^bJosé Carlos,^f1953-^4070]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[1]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">11</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[4]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[Sotomaior,]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">b</tag> <content xsi:type="xsd:string"><![CDATA[José Carlos,]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">f</tag> <content xsi:type="xsd:string"><![CDATA[1953-]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> <subfield> <tag xsi:type="xsd:string">4</tag> <content xsi:type="xsd:string"><![CDATA[070]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">4</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">801</tag> <content xsi:type="xsd:string"><![CDATA[ 0^aPT^bBN^gRPC]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[0]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">12</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[PT]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">b</tag> <content xsi:type="xsd:string"><![CDATA[BN]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">g</tag> <content xsi:type="xsd:string"><![CDATA[RPC]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">998</tag> <content xsi:type="xsd:string"><![CDATA[ ^aMPA11-1]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">13</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[1]"> <subfield> <tag xsi:type="xsd:string">a</tag> <content xsi:type="xsd:string"><![CDATA[MPA11-1]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> </subfields> </field> <field> <tag xsi:type="xsd:string">966</tag> <content xsi:type="xsd:string"><![CDATA[ ^lMPAA^mMPAA^s1622/M?]]></content> <indicator1 xsi:type="xsd:string"><![CDATA[ ]]></indicator1> <indicator2 xsi:type="xsd:string"><![CDATA[ ]]></indicator2> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">14</pos> <subfields xsi:type="typens:ArrayOf_SubfieldXML" SOAP-ENC:arrayType="typens:SubfieldXML[3]"> <subfield> <tag xsi:type="xsd:string">l</tag> <content xsi:type="xsd:string"><![CDATA[MPAA]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">1</pos> </subfield> <subfield> <tag xsi:type="xsd:string">m</tag> <content xsi:type="xsd:string"><![CDATA[MPAA]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">2</pos> </subfield> <subfield> <tag xsi:type="xsd:string">s</tag> <content xsi:type="xsd:string"><![CDATA[1622/M?]]></content> <occ xsi:type="xsd:int">1</occ> <pos xsi:type="xsd:int">3</pos> </subfield> </subfields> </field> </fields> </record> </searchResult> </methodns:searchResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> | Back to the TVS model document |