Home | TVS papers
 

Consuming Web services with Microsoft Axis

Part of BookMARC TVS papers

Axis is a SOAP compliant Java package. Axis is available at http://xml.apache.org/axis/index.html.

To consume the Web services we are going to use the WSDL2Java Axis tool. The purpose of this tool is to create the Java code from a WSDL.

In this case we are going to use WSDL2Java to create only the client bindings:

  1. Download Axis and extract it into a folder
  2. Add Axis to your classpath
  3. Execute the following command, in the command line: java org.apache.axis.wsdl.WSDL2Java -o . (WSDL-file-URL)
  4. Add the generated files to a Java project. The WSDL2Java will generate the following files:
    • A Java class for each data type
    • An interface that is used to access the operations of the service
    • An interface for the service
    • A stub class that contains the code which turns the methods invocations into SOAP calls
    • A service implementation (the locator)
  5. See the services description bellow for some code examples

Monitoring

Axis includes a TCP monitor that can be used to monitor the SOAP calls to the services. See the next steps to know how to use the Axis TCP monitor.

  1. Make sure Axis is in your classpath
  2. Execute the following command, in the command line: java org.apache.axis.utils.tcpmon
  3. In the admin tab add the following values:
    1. Listen port# - select a local port to be monitored (example: 9090)
    2. Target hostname - sirius.bn.pt
    3. Target port# - 80
    4. Click Add
  4. The monitor is ready, now a litle change to the generated code must be done:
    1. Open the Locator class and change the Search_address variable value to: http://localhost:9090/sirius/sirius2.exe
    2. Now we can see the SOAP request and the service SOAP response

Get Record by ISBN

Input parameters
  • isbn - String
Output parameters
  • marcXML - MarcXML object

Sample code


public class GetRecordByISBN {
public static void main(String[] args) {
BufferedReader cLine = new BufferedReader(new InputStreamReader(System.in));
String isbn = "3-598-11211-4";
try {
// create a new Web service
GetRecordService service = new GetRecordServiceLocator();
GetRecord port = service.getGetRecord();
System.out.println("=== GetRecordByISBN Started ===");
System.out.println("=== Type 'exit' to quit! ===");
System.out.print("ISBN (3-598-11211-4): ");
isbn = cLine.readLine(); while (!isbn.equalsIgnoreCase("exit")) {
// invoke the service with the given ISBN and store the result in a MarcXML object
MarcXML record = port.getRecordByISBN(isbn);
String result = new String();
for (int idx = 0; idx < record.getFields().length; idx++)
result += record.getFields()[idx].getTag() + ": " + record.getFields()[idx].getContent() + System.getProperty("line.separator");
System.out.println("===========================================================");
System.out.println("RECORD:");
System.out.println("===========================================================");
System.out.println(result);
System.out.println("==========================================================="); System.out.print("ISBN (3-598-11211-4): ");
isbn = cLine.readLine();
}
System.out.println("=== GetRecordByISBN Terminated ===");
} catch(RemoteException e) {
e.printStackTrace();
} catch(ServiceException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
}

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:getRecordByISBN xmlns:ns1="getRecordByISBN">
<isbn xsi:type="xsd:string">3-598-11211-4</isbn>
</ns1:getRecordByISBN>
</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>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


public class SearchClient {
public static void main(String[] args) {
BufferedReader cLine = new BufferedReader(new InputStreamReader(System.in));
try {
// create a new Web service
SearchService service = new SearchServiceLocator();
Search port = service.getSearch();
String[] terms = new String[2];
String[] values = new String[2];
int[] precedences = {1, 1};
String[] operators = new String[2];
MarcXML[] records = new MarcXML[] {};
System.out.println("===================== Search Started ======================");
System.out.println("===========================================================");
System.out.println("Search Hints:");
System.out.println(" .Where to search: ti");
System.out.println(" .What to search: unimarc");
System.out.println(" .Operators: leave blank to begin search");
System.out.println(" .Operators: add logical operator for aditional options");
System.out.println("===========================================================");
System.out.print("Where to search [TI - Title | AU - Author | AS - Subject]: ");
terms[0] = cLine.readLine().toUpperCase();
System.out.print("What to search: ");
values[0] = cLine.readLine().toUpperCase();
System.out.print("Operators [AND | OR | AND NOT]: ");
operators[0] = cLine.readLine().toUpperCase();
if (operators[0].length() > 0) {
System.out.print("Where to search [TI - Title | AU - Author | AS - Subject]: ");
terms[1] = cLine.readLine().toUpperCase();
System.out.print("What to search: ");
values[1] = cLine.readLine().toUpperCase();
operators[1] = "OR";
}
System.out.println("===========================================================");
System.out.println("Searching");
// invoke the service
records = port.search(terms, values, precedences, operators, 10, 1);
System.out.println("===========================================================");
System.out.println("FOUND " + records.length + " RECORD(S)");
System.out.println("===========================================================");
for (int idx = 0; idx < records.length; idx++) {
MarcXML marc = records[idx];
String result = new String();
for (int loop = 0; loop < marc.getFields().length; loop++)
result += marc.getFields()[loop].getTag() + ": " + marc.getFields()[loop].getContent() + System.getProperty("line.separator");
System.out.println("RECORD n.º " + (idx + 1) + ":"); System.out.println("===========================================================");
System.out.println(result);
System.out.println("===========================================================");
}
} catch(RemoteException e) {
e.printStackTrace();
} catch(ServiceException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
}

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