|
Home > Archive > BizTalk Server General > August 2004 > Receiving XML message without a namespace
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Receiving XML message without a namespace
|
|
|
| Hi,
we are receiving XML messages from our counterpart which do not contain the namespace. XML Spy reports these files as wellformed.
When I use the "validate Instance" feature of BizTalk I get the message that the schema information is not found. Also in the receiving pipeline the elements are not detected correctly.
Is is mandatory to use the namespace in all XML instances?? Is there any workaround?
Regards Erich
| |
| Tatyana Yakushev [MSFT] 2004-06-03, 11:56 pm |
| It is not mandatory to use namespace (though it is recommended).
Does the schema that you are trying to validate instance message with has namespace? It shouldn't.
What errors exactly do you get when you validate the instance message?
Thanks
Tatyana
--------------------
>Thread-Topic: Receiving XML message without a namespace
>thread-index: AcRJgpUyb8luTITCTh+7HcXW2/2HpQ==
>X-WN-Post: microsoft.public.biztalk.general
>From: "=?Utf-8?B?RXJpY2g=?=" <anonymous@discussions.microsoft.com>
>Subject: Receiving XML message without a namespace
>Date: Thu, 3 Jun 2004 08:51:07 -0700
>Lines: 8
>Message-ID: <18A7BD12-84C6-485C-8B2A-BDB224740045@microsoft.com>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="Utf-8"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Content-Class: urn:content-classes:message
>Importance: normal
>Priority: normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>Newsgroups: microsoft.public.biztalk.general
>Path: cpmsftngxa10.phx.gbl
>Xref: cpmsftngxa10.phx.gbl microsoft.public.biztalk.general:15885
>NNTP-Posting-Host: tk2msftcmty1.phx.gbl 10.40.1.180
>X-Tomcat-NG: microsoft.public.biztalk.general
>
>Hi,
we are receiving XML messages from our counterpart which do not contain the namespace. XML Spy reports these files as wellformed.
When I use the "validate Instance" feature of BizTalk I get the message that the schema information is not found. Also in the receiving pipeline the elements are not
detected correctly.
Is is mandatory to use the namespace in all XML instances?? Is there any workaround?
Regards Erich
>
--
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
Note: For the benefit of the community-at-large, all responses to this message are best directed to the newsgroup/thread from which they originated.
| |
| Matt Milner 2004-06-03, 11:56 pm |
| You can use a custom receive pipeline where you specify the schema on the
Xml Disassembler (of flat file disassembler).Then use this receive pipeline
in your receive location.
Matt
"Erich" <anonymous@discussions.microsoft.com> wrote in message
news:18A7BD12-84C6-485C-8B2A-BDB224740045@microsoft.com...
> Hi,
> we are receiving XML messages from our counterpart which do not contain
the namespace. XML Spy reports these files as wellformed.
>
> When I use the "validate Instance" feature of BizTalk I get the message
that the schema information is not found. Also in the receiving pipeline the
elements are not detected correctly.
>
> Is is mandatory to use the namespace in all XML instances?? Is there any
workaround?
>
> Regards Erich
| |
|
| Thanks for your reply. I removed the entry in the "Target Namespace" property of the schema, and then it worked.
BT presents a warning when I build the assembly - and it runs just fine.
Thanks !!
| |
| Neal Walters 2004-07-12, 8:47 pm |
| Matt,
A lot of classroom students are asking the same question Erich had here. So I am putting together a test and video to demonstrate.
1. Does it matter if you use Xml Disassembler or XML Validator? Both allow you to select a "document schema"?
2. What about on the send side? I was able to receive a message without a namespace, but on then was getting errors on the default send pipeline such as:
MS.biztalk.DefaultPipelines.XMLTransmit" Source: 'XML Assembler" send port etc... Reason This assembler cannot retrieve document spec by this type: "EasyPO" [which is my root element name] C0C01300. Finding doc spec by message type failed. Verify that
the schema is deployed correctly.
This of course is the same schema that I received, no mapping, no orchestration; I'm just trying to pass it all the way through to prove to myself that it can be done (and for a training video).
So, I then built my own sendPipeline, and tried to select the same schema (I tried it with the XML Assembler in the Assembly step, and also with XML Validator in the pre-assembly step. In all cases, getting the same error as above.
Neal Walters
http://Biztalk-Training.com
"Matt Milner" wrote:
> You can use a custom receive pipeline where you specify the schema on the
> Xml Disassembler (of flat file disassembler).Then use this receive pipeline
> in your receive location.
>
> Matt
>
> "Erich" <anonymous@discussions.microsoft.com> wrote in message
> news:18A7BD12-84C6-485C-8B2A-BDB224740045@microsoft.com...
> the namespace. XML Spy reports these files as wellformed.
> that the schema information is not found. Also in the receiving pipeline the
> elements are not detected correctly.
> workaround?
>
>
>
"Matt Milner" wrote:
> You can use a custom receive pipeline where you specify the schema on the
> Xml Disassembler (of flat file disassembler).Then use this receive pipeline
> in your receive location.
>
> Matt
>
> "Erich" <anonymous@discussions.microsoft.com> wrote in message
> news:18A7BD12-84C6-485C-8B2A-BDB224740045@microsoft.com...
> the namespace. XML Spy reports these files as wellformed.
> that the schema information is not found. Also in the receiving pipeline the
> elements are not detected correctly.
> workaround?
>
>
>
| |
| Matt Milner 2004-07-13, 8:47 pm |
| For the send you can use the pass through pipeline and then you won't have
to worry about the issues you are talking about and you'll actually get
better performance.
The disassembler actually does create the messages while the validator
simply reads the stream to validate it. So, if you just have a validator,
it's like having the pass through receive, but with validated documents.
I'm surprised by the fact that a send pipeline with the schema specified did
not work. I'll have to take a look at that.
Matt
"Neal Walters" <NealWalters@discussions.microsoft.com> wrote in message
news:4A6C6F8D-13AC-49DC-A0AB-58F0FC209D0F@microsoft.com...
> Matt,
>
> A lot of classroom students are asking the same question Erich had here.
So I am putting together a test and video to demonstrate.
>
> 1. Does it matter if you use Xml Disassembler or XML Validator? Both
allow you to select a "document schema"?
>
> 2. What about on the send side? I was able to receive a message without
a namespace, but on then was getting errors on the default send pipeline
such as:
>
> MS.biztalk.DefaultPipelines.XMLTransmit" Source: 'XML Assembler" send
port etc... Reason This assembler cannot retrieve document spec by this
type: "EasyPO" [which is my root element name] C0C01300. Finding doc spec
by message type failed. Verify that the schema is deployed correctly.
>
> This of course is the same schema that I received, no mapping, no
orchestration; I'm just trying to pass it all the way through to prove to
myself that it can be done (and for a training video).
>
> So, I then built my own sendPipeline, and tried to select the same schema
(I tried it with the XML Assembler in the Assembly step, and also with XML
Validator in the pre-assembly step. In all cases, getting the same error as
above.[vbcol=seagreen]
>
> Neal Walters
> http://Biztalk-Training.com
>
>
>
>
> "Matt Milner" wrote:
>
the[vbcol=seagreen]
pipeline[vbcol=seagreen]
contain[vbcol=seagreen]
message[vbcol=seagreen]
the[vbcol=seagreen]
any[vbcol=seagreen]
>
> "Matt Milner" wrote:
>
the[vbcol=seagreen]
pipeline[vbcol=seagreen]
contain[vbcol=seagreen]
message[vbcol=seagreen]
the[vbcol=seagreen]
any[vbcol=seagreen]
| |
| George Remus 2004-08-24, 6:59 pm |
| Hi Matt,
I have a similar issue, but I am not quite sure I am following your steps
appropriately, because I am getting errors. I have multiples messages coming
in with no target namespace, and I have defined my schemas with no target
namespace. I need to apply a map to those schemas on the port.
I am testing with a single schema, and I have tried the standard XML pipe,
which does not recognize the message (root node is missing error message). I
have tried the pass through pipe, which lets the message through, but then
the map is not applied. I have tried a custom pipe, with the XML
disassembler, and I have specified the appropriate schema as the document
schema. This gives me an "Index was outside the bounds of the array" error. I
am a bit stuck here, do I have to create a custom pipeline component to add
the target namespace based on the root element? Thanks,
George
"Matt Milner" wrote:
> You can use a custom receive pipeline where you specify the schema on the
> Xml Disassembler (of flat file disassembler).Then use this receive pipeline
> in your receive location.
>
> Matt
>
> "Erich" <anonymous@discussions.microsoft.com> wrote in message
> news:18A7BD12-84C6-485C-8B2A-BDB224740045@microsoft.com...
> the namespace. XML Spy reports these files as wellformed.
> that the schema information is not found. Also in the receiving pipeline the
> elements are not detected correctly.
> workaround?
>
>
>
| |
| Matt Milner 2004-08-25, 5:54 pm |
| You should be right on with the custom pipeline and specifying the schema
you are expecting to receive. Not sure why you are getting that error.
Have you checked that all properties for your disassembler are setup
correctly? You might try redeploying the pipeline. If you like, you can
send me the schema and pipeline and I'll take a look at it.
Matt
"George Remus" <George Remus@discussions.microsoft.com> wrote in message
news:555F20A0-413D-4F59-A01F-D7B12E0F19CA@microsoft.com...
> Hi Matt,
>
> I have a similar issue, but I am not quite sure I am following your steps
> appropriately, because I am getting errors. I have multiples messages
coming
> in with no target namespace, and I have defined my schemas with no target
> namespace. I need to apply a map to those schemas on the port.
>
> I am testing with a single schema, and I have tried the standard XML pipe,
> which does not recognize the message (root node is missing error message).
I
> have tried the pass through pipe, which lets the message through, but then
> the map is not applied. I have tried a custom pipe, with the XML
> disassembler, and I have specified the appropriate schema as the document
> schema. This gives me an "Index was outside the bounds of the array"
error. I
> am a bit stuck here, do I have to create a custom pipeline component to
add[vbcol=seagreen]
> the target namespace based on the root element? Thanks,
>
> George
>
> "Matt Milner" wrote:
>
the[vbcol=seagreen]
pipeline[vbcol=seagreen]
contain[vbcol=seagreen]
message[vbcol=seagreen]
the[vbcol=seagreen]
any[vbcol=seagreen]
|
|
|
|
|