คำถาม Probleme beim Deploy eines Schemas

  • 20 มกราคม 2554 6:21
     
     

    Hallo ich habe Probleme beim Deploy von Schemata.

    In meinem Project habe ich 2 Schemata die vom API (American Petroleum Institute) zur Verfügung gestellt werden. Es handelt sich dabei um das Schema PIDXLib_1-0xsd und dem Schema OrderCreate_1-0.xsd.

    OrderCreate includiert PIDXLib und beim Deploy aus VisualStudio heraus werden auf dem BizTalk nun mehrere Schemata mit dem gleichen Namespace angelegt. Das führt nun dazu das meine Message nicht mehr verarbeitet wird weil sie beim Eingang keinem Schema zugeordnet werden kann da es mehrere Schemata mit gleichem Namespace (http://www.api.org/pidXML/v1.0) gibt.

    Was mache ich falsch?

     

     

ตอบทั้งหมด

  • 20 มกราคม 2554 7:51
     
     

    Grundsätzlich darf es - wie du auch erkannt hast - nur ein Schema mit dem Namespace geben. Besser gesagt geht das garnicht. Das liegt vor allem daran, dass BizTalks ich intern für jedes Artifakt (Schema, Orchestration, Map, usw.) in einer DB-Tabelle merkt, in welcher Assembly die abgelegt sind.

    Aber wieso legst du diese doppelt ab? Oder legst du unterschiedliche Versionen der Assembly ab? Sonst müsste BizTalk beim Deployment schon meckern.

    Ich versteh noch nicht ganz wieso das ("beim Deploy aus VisualStudio heraus werden auf dem BizTalk nun mehrere Schemata mit dem gleichen Namespace angelegt") passieren soll? Kannst du noch ein paar weitere Informationen dazu posten?


    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://pi.hauth.me

  • 20 มกราคม 2554 8:02
     
     

    ich erhalte bei Deployment warnings das ein Schema mit dem Namespace bereits existiert. Warum das Anlegen passiert weiss ich auch nicht. Leider kann ich hier irgendwie keine Dateien anhängen sonst hätte ich die beide Schemata plus ein Bild wie es im BT aussieht mal angehängt

     

    Problem ist eben das das eine Schema keine Root node definiert hat und er nun für jedes Node in diesem Schema beim Deploy eines in Biztalk erzeugt und den Node als RootNode ansetzt (PIDX) und beim OrderCreate das Gleiche nochmal da dort PIDX included ist

  • 20 มกราคม 2554 8:10
     
     
    Wenn du kannst, sende mal die Infos oder XSDs an oliver (at) hauth (dot) me. Dann kann ich mir das anschauen und dir hier antworten. Kann es so leider nur eingeschränkt nachvollziehen.
    If you like my post or consider it as a valid answer, please use the buttons to show me - Oliver

    http://pi.hauth.me

  • 20 มกราคม 2554 8:16
     
     
    ist unterwegs..
  • 22 มกราคม 2554 14:55
     
     

    Hallo,

    in BizTalk muss die Kombination aus Target Namespace und Root-Knoten eines XMLs eindeutig einem Schema zugeordnet werden können. Ein Schema bedeutet hier nicht einer XSD-Datei. BizTalk erfasst standardmäßig alles als eigenes Schema, was sich in einer XSD-Datei direkt unterhalb des Schema-Knotens befindet (außer Attribute). Das heißt: Gibt es mehrere Root-Knoten in einer XSD-Datei, gibt es auch mehrere Schemas zur Laufzeit. Hier kann steuernd eingegriffen werden. Markiert man den Schema-Knoten, schaut im Properties-Fenster nach der Root Reference kann dort ein bestimmter Root-Knoten ausgewählt werden. Alle anderen Root-Knoten, die sich vielleicht auch in der Datei befinden, werden dann nicht als eigene Schemas erfasst. Vielleicht hilft das in diesem Fall weiter...

    Beste Grüße,
    Martin

  • 23 มกราคม 2554 10:21
     
     
    Leider nein..die xsd-Dateien sind Standardwerk der API und so freigegeben. Zum einen möchte ich dort nichts ändern und selbst als ich es versuchte lässt sich das ganze nichtmal mehr kompilieren im Studio
  • 25 มกราคม 2554 13:59
     
     

    Hallo Chris,

    Jeff Lynch (BizTalk MVP) hat sich mit dem Thema PIDX und BizTalk in seinem Blog  befasst. Vielleicht hilft das weiter:

    http://codebetter.com/blogs/jeff.lynch/archive/2008/06/25/pidx-schemas-solution-for-biztalk-server-2006.aspx

    Schöne Grüße

    Oliver

  • 28 มกราคม 2554 14:14
     
     
    Danke für die Info...ich schau es mir mal an
  • 31 มกราคม 2554 11:41
     
     

    Hallo Chris,

    ich gehe davon aus, dass Du nur OrderCreate benutzen willst und dies die Typen aus der PIDXLib benötigt. Stelle doch einfach die Kompilieroptionen für das PIDXLib Schema im Projekt aus, damit dieses nicht kompiliert wird, sondern nur für das Kompilieren des OrderCreate zur Verfügung steht.

    Beste Grüße,

    Leo


    Please mark it as Answer if this answers your question.