Namespace addition in a DTD in ESR
Hi,
I have imported an external definition, a DTD, in my ESR. In external definition window in ESR there is a tab WSDL where I cant see namespace for he schema.
Can someone help me with how to get namespace in that WSDL or how to declare and add a namespace in a DTD (doctype) structure?
PFB the my DTD structure where MyMessage is root node in message structure.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MyMessage SYSTEM "http://host.com/app_docs/dtd/PO/xyz.dtd" [
<!--
$Source: /abc/def/xyz.dtd,v $
$Revision: 1.2 $
$Date: 2012/06/27 09:12:17 $
Version 2.5: everything in version 2.4 plus custom field amount totals
-->
<!ELEMENT abc (#PCDATA)>
<!ELEMENT xyz (#PCDATA)>
<!ATTLIST …….
>
]>
and PFB corresponding WSDL:
<wsdl:definitions xmlns:wsdl="………/wsdl/">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> ------> I want targetNamesapce field here with valid namespace.
<xsd:element name="MyMessage" type="MyMessage" />
<xsd:complexType ……………………….>
<xsd:sequence>
<xsd:element name="………………" type="xsd:string" />
<xsd:element name="………………" type="xsd:string" />
Its very large and complex DTD which I imported, it looked like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PurchaseOrderMessage SYSTEM "http://host.com/app_docs/dtd/po/PO.dtd" [
<!ELEMENT Address (#PCDATA)>
<!ATTLIST Address
linenumber CDATA #REQUIRED
label CDATA #IMPLIED
>
]>
Similar Messages
-
Missing namespace in the DTD ?
Hi Guys,
I have converted the xml into DTD and i see there is no namespace. It is not allowing to add the namespace.
How can i get the namespace added to my DTD ?
Thanks,
k s reddyHi Ahmad,
I have tried to add the namespace and i am getting the following error
Unable to convert imported document to WSDL
Reason: Wrong declaration: "<!ATTLIST biztalk_1
first CDATA #FIXED "xmlns="urn:biztalk-org:biztalk:biztalk_1">"
>"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE biztalk_1 [
<!ELEMENT biztalk_1 (header, body)>
<!ATTLIST biztalk_1
first CDATA #FIXED "xmlns="urn:biztalk-org:biztalk:biztalk_1">"
>
<!ELEMENT header (delivery)>
<!ELEMENT delivery (message, to, from)>
<!ELEMENT message (messageID, sent, subject)>
<!ELEMENT messageID (#PCDATA)>
<!ELEMENT sent (#PCDATA)>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT to (address)>
<!ELEMENT from (address)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT body (BACUSTOMER.CheckIn)>
<!ELEMENT BACUSTOMER.CheckIn (BACustomer)>
]> -
I can specify the namespace of the element in DTD
by declaring the xmlns attribute for it with
#REQUIRED value of namespace the element belongs to.
But how can I specify elements with the same name
belonging to different namespaces in one single
DTD not to get error of duplicate definition of element?I read this documentation to get familiar with XML DTD,
but when I tried to do what I mentioned above, I didn't
find answer for that. -
XSLT for payload with namespaces
Hello Experts, attn:Stefan.
I am using a XSLT to parse the input xml payload and retrieve the Value of a particular field which will be used for receiver determination.
The XSL code used by me is :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<ns1:Receivers xmlns:ns1="http://sap.com/xi/XI/System">
<Receiver>
<Service>
<xsl:value-of select="NemRefusionIndberetningSamling/NemRefusionIndberetningStruktur/HeaderStruktur/ReferenceAttributTekst" />
</Service>
</Receiver>
</ns1:Receivers>
</xsl:template>
</xsl:stylesheet>
And the input payload I am getting is something like:
<?xml version="1.0" encoding="utf-8"?>
<NemRefusionIndberetningSamling >
<DannetDatoTid>2010-04-22T12:14:28.036+02:00</DannetDatoTid>
<NemRefusionIndberetningStruktur xmlns="urn:oio:abc:nemrefusionindberetning:2009.07.03" MessageID="1">
<HeaderStruktur xmlns="urn:oio:abc:nemrefusionheader:2009.07.03">
<FravaerTypeKode>Sygdom</FravaerTypeKode>
<FravaerendeStruktur>
<FravaerendeTypeKode>Loenmodtager</FravaerendeTypeKode>
<LoenUnderFravaerIndikator>false</LoenUnderFravaerIndikator>
</FravaerendeStruktur>
<IndberetningUUIDIdentifikator>bf9cc44e-af15-4e19</IndberetningUUIDIdentifikator>
<ReferenceAttributTekst>S70CLNT007</ReferenceAttributTekst>
</HeaderStruktur>
</NemRefusionIndberetningStruktur>
</NemRefusionIndberetningSamling>
The XSLT works fine with above payload. But now we need to add namespaces in top level elements. So the payload will be like:
<NemRefusionIndberetningSamling xmlns="urn:oio:abc:nemrefusionsamling:2009.07.03" UUIDIdentifikator="DF8C1CB43B2E14F1A0C5005">
<DannetDatoTid>2010-04-22T12:14:28.036+02:00</DannetDatoTid>
<NemRefusionIndberetningStruktur xmlns="urn:oio:abc:nemrefusionindberetning:2009.07.03" MessageID="1">
<HeaderStruktur xmlns="urn:oio:abc:nemrefusionheader:2009.07.03">
<FravaerTypeKode>Sygdom</FravaerTypeKode>
<FravaerendeStruktur>
<FravaerendeTypeKode>Loenmodtager</FravaerendeTypeKode>
<LoenUnderFravaerIndikator>false</LoenUnderFravaerIndikator>
</FravaerendeStruktur>
<IndberetningUUIDIdentifikator>bf9cc44e-af15-4e19</IndberetningUUIDIdentifikator>
<ReferenceAttributTekst>S70CLNT007</ReferenceAttributTekst>
</HeaderStruktur>
</NemRefusionIndberetningStruktur>
</NemRefusionIndberetningSamling>
Top element being changed by addition of namespace, XSLT fails to retriev the value of required field i.e. <ReferenceAttributTekst>
Changed element:
"<NemRefusionIndberetningSamling xmlns="urn:oio:abc:nemrefusionsamling:2009.07.03" UUIDIdentifikator="DF8C1CB43B2E14F1A0C5005">"
I am sure that there should be a way to handle namespaces in XSLT. Please suggest me the correction to XSLT to handle this namespace addition to top element.
Kind Regards,
Abhijeet.In XSLT you put a prefix before the XPATH rule like this:
p1:root/p2:subnode/element
you declare the namespaces in header as attribute xmlns:p1="..."
Something like:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:p1="..." ...>
In your example you have to consider, that namespaces without prefix are inherited to subnodes. That means you have to build your XPATH like this:
p1:NemRefusionIndberetningSamling/p2:NemRefusionIndberetningStruktur/p3:HeaderStruktur/p3:ReferenceAttributTekst -
Writing XML without namespace?
Hi,
I have a "strange" xml schema in a system I need to export data to. It lacks any forms of namespace (possibly a converted DTD) and it seemd the FTP adapter (from BPEL) cant handle XML-types without namespaces.
Is there a way to do this without using an opaque adapter and writing the data as "text"?
The schema the file uses can be found here: http://services.agresso.com/schema/ABWSupplierCustomer/2004/07/02/ABWSupplierCustomer542.xsd
// Michael MedinThis works for both BPEL & ESB:
1. Build an XSD for the source system adapter/process with no XSD.
2. Build another XSD which acts like wrapper of original XSD.
3. In the Wrapper XSD include the actual xsd.This one is sample xsd which has the piece of code
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://xmlns.oracle.com/BPELProcess2"
xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" nxsd:version="DTD"
elementFormDefault="qualified">
<include schemaLocation="actual.xsd"/>
</xsd:schema>The Target Namespace can be of any URL and this could be of anything.While polling the file or any JMS queue the adapter should include the wrapper xsd instead of actual xsd.This would read the file or any queue even if there is no namespace and the values can be transformed or assigned inside the process.
Peace,
G. -
We downloaded cxml 1.2 dtd from cxml.org and tried to import into XI external def. We imported cxml.dtd and received no errors. When accessing from message mapping and Message Type we are unable to import/select cXml dtd structures/messages.
How do we import cXml dtd message into XI?
We have tried to convert to a .xsd file using Xml Spy and are experience namespace errors.Hi Frank,
concerning namespaces the philosophies of DTD and XSD are not compatible (indeed the philosophy of DTD is not compatible with that of XML namespaces itself). As XI is completely XSD-based it is not able to deal with DTDs containing namespace information, although they are well-formed.
Other tools (like XMLSpy) may try to make a conversion anyway (on a somehow heuristic basis). The result of that maybe imported as External Definition, but sometimes it is necessary to make some adjustments to the XSD.
According other DTDs coming from cxml I cannot tell you, because I do not know. Anyway, the namespace information is an important information which cannot be left out. If the XML structure defined by cxml really uses xml namespaces, then DTDs are not a suitable way to describe this structure (as explained above). XML structures with namespaces should always be described using XSD.
Greetings Stephan -
Rehire / Additional Contract Details
Hi XI/PI Experts,
How can i get Rehire /Additional Contract Xi Content into ESR and what is the standard software component have to import into ESR , please could anybody tell me..Hello
Check the note #1536986 How to import PI Content into the ESR. This documents where you can download all PI contents and how to import them into the ESR. I'm not sure which specific content contains the objects you require.
Regards
Mark -
Generating multiple target xmls from one source xml using xslt mappings
Hi,
I need to create more than one xml file from one source xml file using xslt mappings in file to file scenario.
Can you please let me know how this can be achieved.
Thanks,
RajeshRajesh,
If you must use the XSL Transformation then you can find a nice simple example here. It's based on the Xalan XSLT Processor which to my knowledge is incorporated in PI7.1. I've not actually tried this but it makes for an interesting mapping case so please let us know the results:
[XSLT Split for multiple XML file output|http://abbeyworkshop.com/howto/xslt/xslt_split/index.html]
The XSL file will require a namespace addition:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:redirect="http://xml.apache.org/xalan/redirect" extension-element-prefixes="redirect" version="1.0">
The redirect prefix is used for the write tags in the XSL file.
The details cover the transformation of the source file:
1:<student_list>
2: <student id="1">
3: <name>George Washington</name>
4: <major>Politics</major>
5: <phone>312-123-4567</phone>
6: <email>gw_at_example.edu</email>
7: </student>
8: <student id="2">
9: <name>Janet Jones</name>
10: <major>Undeclared</major>
11: <phone>311-122-2233</phone>
12: <email>janetj_at_example.edu</email>
13: </student>
14: <student id="3">
15: <name>Joe Taylor</name>
16: <major>Engineering</major>
17: <phone>211-111-2333</phone>
18: <email>joe_at_example.edu</email>
19: </student>
20:</student_list>
Using this transformation:
2:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3: xmlns:redirect="http://xml.apache.org/xalan/redirect"
4: extension-element-prefixes="redirect"
5: version="1.0"
6:>
7:<xsl:output method="xml"/>
8:
9:<xsl:template match="/">
10: <xsl:apply-templates />
11:</xsl:template>
12:
13:<xsl:template match="student_list">
14: <xsl:apply-templates />
15:</xsl:template>
16:
17:<xsl:template match="student">
18: <xsl:variable name="filename" select="concat(@id,'.xml')" />
19: <redirect:write select="$filename">
20: <student id="{@id}">
21: <xsl:apply-templates />
22: </student>
23: </redirect:write>
24:</xsl:template>
25:
26:<xsl:template match="name | major | phone | email">
27: <xsl:copy-of select="." />
28:</xsl:template>
29:
30:</xsl:stylesheet> -
Can we pass delimeted file through PI without converting it to XML ?
Hi All,
I will be getting File from Sender in Inbound Payload as delimitted file and not in XML structure using XI adapter. So can you please suggest on how I need to do mapping as file will be passed as it is and which need to transfer from Sender to Target system.
Target side I will be using file adapter to put the file at desired location and as inbound file is not in XML and directly delimetted file there is no need of File Content Conversion too. Please suggest as I am unable to visualise How mapping needs to be done in case of direct passing of delimitted file from Sender to Targeget throgh PI i.e. inbound payload and outbound payload both contains delimitted file field separated by pipe "|".
Your valuable inputs will be highly appreciated.
Regards,
Nitin PatilHi Nitin Patil ,
No need to do mapping in ESR/IR . No FCC also
Do as follows
1. Create a namespace in ESR/IR only .
2. Directly go to ID - configuration
3. In interface determination give some dummy name for inbound interface .
Note : Use the propoer namespace which you have created in ESR/IR
4 Create sender and receiver FIle adapter - use the same dummy interface name
5. Create sender and receiver agreement
Your file will be picked and droped to desired folder as it is.
But you ignore the errors in SXMB_MONI .
Regards.,
V.Rangarajan -
ANNOUNCEMENT: New in Oracle iFS 1.1
Oracle iFS version 1.1 will soon be released with Oracle8i Release 3 (8.1.7), so the product management team wanted to take the opportunity to let you know what's in our v1.1. The list includes:
* NLS and MLS support. Oracle iFS now supports
8-bit and multi-byte character sets in
all components of the product, from the
repository through the protocol servers to
the web and Windows UIs.
* Americans with Disabilities Act (ADA)
compliance. Oracle iFS is now conforms to
ADA requirements.
* WebDAV. Oracle iFS now supports WebDAV, the
new standard for collaboration across the
Internet.
* Parser framework improvements. We've added
some new capabilities to the parser
framework, including the XML components.
* DTD validation. One of these additions
is XML DTD validation.
* New Server Manager GUI. You now have a
graphical control panel in the Oracle iFS
manager for administering procotol servers
and agents.
* Various bug fixes, performance enhancements, and documentation updates.
For details, see the What's New in Version 1.1 guide, included with the Oracle iFS documentation with its version 1. release.We released to manufacturing our version 1.1 for Solaris, so as soon as Oracle8i Release Two (8.1.7) is available, we'll be part of that CD pack. We'll also be downloadable with the database from here on OTN. The NT port will be released in October, with other ports following afterward (exact dates not announced yet).
-
Error in displaying faces-config.xml
hi
I am using j2ee tutorial14 . when i open faces-config.xml of bookstore6 example ,then the following error appears
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
Use of default namespace declaration attribute in DTD not supported. Error processing resource 'file:///D:/j2eetutorial14/e...
<faces-config
is there any problem with internet explorer. i am using ie6 version. what should i doI don't really want to spend a lot of time tracking down this tutorial and finding what it asks you to do. So how about if you tell us what you are trying to do and why? (Preferably with words less ambiguous than "open".)
-
Hi all,
i have to parse a WSDL, i found the javax.wsdl.xml.WSDLReader. this permits to parse all but not the XSD inside the wsdl.
i.e.
the wsdl
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/NewWSDLFile/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NewWSDLFile" targetNamespace="http://www.example.org/NewWSDLFile/">
<wsdl:types>
<xsd:schema targetNamespace="http://www.example.org/NewWSDLFile/">
<xsd:element name="NewOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="NewOperationResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="NewOperationRequest">
<wsdl:part element="tns:NewOperation" name="parameters"/>
</wsdl:message>
<wsdl:message name="NewOperationResponse">
<wsdl:part element="tns:NewOperationResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="NewWSDLFile">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewOperationRequest"/>
<wsdl:output message="tns:NewOperationResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NewWSDLFileSOAP" type="tns:NewWSDLFile">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="NewOperation">
<soap:operation soapAction="http://www.example.org/NewWSDLFile/NewOperation"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NewWSDLFile">
<wsdl:port binding="tns:NewWSDLFileSOAP" name="NewWSDLFileSOAP">
<soap:address location="http://www.example.org/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>the code used:
WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
Definition def = reader.readWSDL("NewWSDLFile.wsdl");
System.out.println(def.toString());the result
Retrieving document at 'NewWSDLFile.wsdl'.
Definition: name={http://www.example.org/NewWSDLFile/}NewWSDLFile targetNamespace=http://www.example.org/NewWSDLFile/
Types:
SchemaExtensibilityElement ({http://www.w3.org/2001/XMLSchema}schema):
required=null
element=[xsd:schema: null]
Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperation
PortType: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
Operation: name=NewOperation
style=REQUEST_RESPONSE
Input: name=null
Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperation
Output: name=null
Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
Binding: name={http://www.example.org/NewWSDLFile/}NewWSDLFileSOAP
PortType: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
Operation: name=NewOperation
style=REQUEST_RESPONSE
Input: name=null
Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperation
Output: name=null
Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
BindingOperation: name=NewOperation
BindingInput: name=null
SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
required=null
use=literal
BindingOutput: name=null
SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
required=null
use=literal
SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
required=null
soapActionURI=http://www.example.org/NewWSDLFile/NewOperation
SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
required=null
transportURI=http://schemas.xmlsoap.org/soap/http
style=document
Service: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
Port: name=NewWSDLFileSOAP
Binding: name={http://www.example.org/NewWSDLFile/}NewWSDLFileSOAP
PortType: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
Operation: name=NewOperation
style=REQUEST_RESPONSE
Input: name=null
Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperation
Output: name=null
Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
Part: name=parameters
elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
BindingOperation: name=NewOperation
BindingInput: name=null
SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
required=null
use=literal
BindingOutput: name=null
SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
required=null
use=literal
SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
required=null
soapActionURI=http://www.example.org/NewWSDLFile/NewOperation
SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
required=null
transportURI=http://schemas.xmlsoap.org/soap/http
style=document
SOAPAddress ({http://schemas.xmlsoap.org/wsdl/soap/}address):
required=null
locationURI=http://www.example.org/as you can see there's no line that say what kind of data there are inside the message .
these lines are not mentioned:
<xsd:element name="NewOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="NewOperationResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>any ideas about how to read the types of the messages?
Edited by: ELStefen on 11-nov-2009 10.55Farhan_Khan wrote:
Can you please elaborate a little more on the following
if you want to parse the XSD you have to take the string between the <type> </type>
- How do I do this ?
takes the wsdl as string, takes the position of <type> and </type>. Now you can simply remove all the rest and keep all the string inside these 2 word.
and add all the namespace of the wsdl (this step is very important, otherwise it not works).
- No clue about this. Please explain.
This is a tricky way that i discovered.
SimpleXML wants all the namespaces involved into the Types. Sometimes these namespaces are written in the top of the wsdl but you don't have these information in the XSD.
So replace the XSD header adding (replace the string) all the namespaces found inside the wsdl.
Note:- I've been working on this for the last 3 weeks but no success and nobody ready to help. Your help would be greatly appreciated.
Thanks
Farhanthis is an example, i don't remember what it does :D
package invokation;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.Map.Entry;
import org.apache.ws.commons.schema.XmlSchema;
import org.apache.ws.commons.schema.XmlSchemaElement;
import org.apache.ws.commons.schema.XmlSchemaImport;
import org.apache.ws.commons.schema.XmlSchemaObject;
import org.apache.ws.commons.schema.XmlSchemaObjectTable;
import javax.wsdl.Definition;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
import javax.xml.transform.stream.StreamSource;
import org.apache.ws.commons.schema.XmlSchemaCollection;
* @author Stefano Tranquillini
public class ParserXSD {
* @deprecated
* @param args
public static void main(String[] args) {
new ParserXSD().ParseXSD("Test.wsdl");
private static ArrayList<QName> namespaces(String wsdl) {
try {
WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
Definition def = reader.readWSDL(wsdl);
reader.setFeature("javax.wsdl.verbose", true);
reader.setFeature("javax.wsdl.importDocuments", true);
// Namespaces
// read all the namespaces
Map nss = def.getNamespaces();
ArrayList<QName> ns = new ArrayList<QName>();
for (Iterator iterator = nss.entrySet().iterator(); iterator
.hasNext();) {
Entry e = (Entry) iterator.next();
ns.add(new QName("" + e.getKey(), "" + e.getValue()));
return ns;
} catch (Exception e) {
e.printStackTrace();
return null;
private static InputStream parseStringToIS(String str) {
if (str == null)
return null;
str = str.trim();
java.io.InputStream in = null;
try {
in = new java.io.ByteArrayInputStream(str.getBytes("UTF-8"));
} catch (Exception ex) {
return in;
public static ArrayList<QName> ParseXSD(String filename) {
ArrayList<QName> ret = new ArrayList<QName>();
try {
ArrayList<QName> ns = namespaces(filename);
// read the all namesapces
// and add they at schema
File f = new File(filename);
FileInputStream fis = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String linea = br.readLine();
String all = "";
while (linea != null) {
linea = br.readLine();
all = all + linea;
// extract only the types
int start = all.indexOf("<wsdl:types>") + "<wsdl:types>".length();
int end = all.indexOf("</wsdl:types>");
String xsd = "";
// not sure about this if
if (start >= 0 && end > start) {
xsd = all.substring(start, end);
} else {
xsd = all;
String ns_toAdd = "";
for (QName qname : ns) {
ns_toAdd += " xmlns:" + qname.getNamespaceURI() + "=\""
+ qname.getLocalPart() + "\"";
xsd = xsd.replace("schema ", "schema " + ns_toAdd + " ");
xsd = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + xsd;
// end namespace addition
// read the xsd and extract information
System.out.println(xsd);
InputStream is = parseStringToIS(xsd);
XmlSchemaCollection schemaCol = new XmlSchemaCollection();
XmlSchema schema = (XmlSchema) schemaCol.read(new StreamSource(is),null);
System.out.println();
//now here i don't remember.
//try to takes information from schema
if (schema.getIncludes().getCount() > 0) {
for (int i = 0; i < schema.getIncludes().getCount(); i++) {
XmlSchemaImport xmlso = (XmlSchemaImport) schema
.getIncludes().getItem(i);
XmlSchemaObjectTable elements = xmlso.getSchema().getElements();
schema.write(System.out);
System.out.println(elements.getCount());
for (Iterator iterator = elements.getNames(); iterator
.hasNext();) {
// extract the QNAME of each operation used in the SOAP
// MESSAGE
QName name = (QName) iterator.next();
ret.add(name);
XmlSchemaObjectTable elements = schema.getElements();
schema.write(System.out);
System.out.println(elements.getCount());
for (Iterator iterator = elements.getNames(); iterator.hasNext();) {
// extract the QNAME of each operation used in the SOAP MESSAGE
QName name = (QName) iterator.next();
ret.add(name);
System.out.println(ret);
return ret;
} catch (Exception e) {
e.printStackTrace();
return ret;
} -
Hi,
Looking for PXI 16x16 1-wire with <= 0.5Ω and enough bandwidth to carry a true -3Db 10Mhz with multiple switch closures say 3 on a row. It would be nice if it fit in a normal slot (I think 1U). I am aware of the 2532b but not only is it way more than what we need, it is huge 3U and we would have to have a separate rack also its switch impedance is higher than what we would like.
We really need a minimum of 10Mhz which is why I have been looking at 40Mhz and above so that when we use multiple switches we can still get the bandwidth.Tell us more about your source and DUT. Are they 50Ω? I imagine that with a 500mΩ requirement, they're not. Thus, we'll have incident reflections from your source into our matrix, through our matrix, and again as we leave our matrix. Each additional source/load you connect at the same time will complicate matters further.
If you're attempting to pass a 10MHz sine wave through our switch (the analog definition of BW), then you should expect variable attenuation and (possibly severe) reflections, depending on how many DUTs you connect simultaneously.
When SI is important on faster signals, I typically recommend a blocking matrix design. Blocking matrices allow NxN connections well into the GHz, but unfortunately, only allow one connection on any particular path. Take a peak at this KnowledgeBase I wrote for an overview.
Of course, 10MHz isn't typically fast enough for me to recommend a blocking matrix, but when said matrix is 16x16, that warrants more consideration. If you can use a smaller matrix, I'd recommend the PXI-2541, which is 8x12. Note: You can expand the matrix to 8x24, 8x36, etc, with multiple modules, but this will also affect BW.
How do we overcome all the stubs? Glad you asked! Inside the 2541, we've got a bunch of smaller 2x4 interleaved matrices, thus reducing the stub length. However, all those additional relays certainly increase the ESR: 2.1Ω.
You might ask "But I don't need 300MHz." Yes. You. Do. Our 300MHz spec is routing a single column to a single row in a single module. Once you start connecting multiple rows and columns at the same time, your bandwidth is going to drop off like the great recession. Unfortunately, I can't comment further since I don't know about your test system and I haven't gathered this particular empirical data.
-John Sullivan
Analog Engineer -
Object / Namespace Scope in ESR
Hi
We have a file2RFC scenario in our current Pi 7.0 that we need to move on to Pi 7.11. It consists of a sender SC and a receiver SC. The sender SC contanins a namespace with the sender SI and the receiver SC contains the RFC target structure and the mapping (java). There it works fine.
In PI 7.11 I got following two problems with this scenario:
1. I cannot export the source XSD schema in the OM -> because the namespace of the SI of the sender SC cannot be found altough the object is selected in the Source Operation area.
2. I got the same problem inside my Java Mapping. There the namespace in the sender cannot be found.
The whole thing works, if i move the SI to my receiver SC.
How can i configure my ESR to find the namespace and according objects in another SC?
Thanks in advance
MichaelDo you mean, that i need to configure the sender SC as underlying Software Component Version on the Details Ribbon?
If i do so, the XSD export works but the mapping doesn't. -
Hi,
According to a number of threads on this forum it is not possible to import and use DTD's with namespaces in it. These posts are rather old. So, is this still the situation?
If yes,
What's the best way to go on with DTD's with namespace?
When I convert the DTD into XSD using Stylus the XSD is not recognized by XI after importing it as a External Definition.
Best regards
Ron
Message was edited by: Ron van der SterrenHi Ron
On service.sap.com , SAP solutions / Netweaver / NW in detail / process integration / XI / Media Library / documentation you find some excel file that indicate the current subset of an open standard ( WDSL / DTD etc..) supported by SAP according to the SP level.
But I think it hasn't changed yet.
When you imported as XSD, did you try to choose 'from all unreferenced global elements '
rgds
Dirk
Maybe you are looking for
-
Scroll bar problem...please help !
I have 2 blocks. The first is master with a SCROLLING BAR, and the other one is detail. I wanna do some validations when the scroll bar of the master is scrolled...and i tried the forms trigger, KEY-SCRDOWN, but in version 4.5 of forms is doesn't fir
-
Finder is not displaying some folders and files
Most folders and files are displaying properly, but some are missing. I can find them by typing their names into the search window, but they are not displaying automatically in Finder.
-
I have a 24" iMac bought in 2007. It now won't boot up. I suspect it is because the hard drive is so full that it won't reboot. Is there a way to rectify this without an erase and reinstall? I do have Applecare.
-
Empty HTTP request received in SAP RFC test connection type G
Hi all, While checking the RFC connection i am getting error, response_line HTTP/1.0 500 Empty HTTP request received server_protocol HTTP/1.0 status_code 500 status_reason Empty HTTP request r
-
System asking enter a Section code at F-02 transaction
Dear All, at the time of posting a GL document (F-02) system giving error is enter a Section code. we are not touched the any Tax configuration steps here. why system giving error ? if we are assigned Section code details then system will ask enetr s