Biztalk 2013 Agreement not applied - biztalk

I have set up an agreement. I have a send port to a file using EdiSend as send pipeline option so we may have a copy of the EDI file we have received from an FTP receive location. The EDI that comes through has BTS-SENDER and RECEIVE-PARTNER in the ISA line.
I assume this means that Fallback settings were used and not my agreement. I this a correct assumption?

Yes. Those are the default values for the fallback settings. You can disable fallback settings (right click Parties -> X12 fallback settings, and uncheck "Enable Fallback Settings") to prevent them from being used at all.
It's likely there's a problem in your agreement settings somewhere - you've excluded (or forgot to include) the transaction you're trying to process, or some other setting is not properly configured in the interchange or transaction set settings.

Related

Syslog-NG: Possible to disable "keep_hostname" but enable for a specific filter?

Was wondering if this was possible at all. I am currently facing a situation where I have a legacy NG system with a number of sources integrated. We are working to slowly transition off of this particular instance, but to do this I need to make sure that the messages that are emitted retain their source host.
Unfortunately, when this legacy environment was crafted, the keep_hostname option was set to false, which meant that the engineers focused on source log specific HOST extraction.
As I am working to tee the data off to the new system, I need the data to retain its source hostname. Ideally one would just flip keep_hostname to yes, but there is too much risk right now as it could impact how data is being parsed throughout the system.
My ask is, while keep_hostname is globally disabled, is there a way that I can enable it within a filter or destination?
Doing this with a globally disabled keep-hostname() option is not really possible as the original host information is lost.
When keep-hostname(no) is used, a feature called "store-raw-message" can be enabled which stores the entire incoming message in the $RAWMSG macro. The raw message definitely contains the original hostname, but then it is up to you to extract the host from the whole message.
My ask is, while keep_hostname is globally disabled, is there a way that I can enable it within a filter or destination?
You can achieve something similar the other way around:
Setting keep-hostname() to yes keeps the original host name intact, but you will have 2 different macros:
$HOST contains the original hostname
$HOST_FROM contains the "source's" hostname
Applying a rewrite rule which overrides $HOST with $HOST_FROM can be added to paths where you want to retain the old behavior.

BizTalk 2013 Save a copy of received EDI file

I am trying to save copies of the EDI files I am receiving from an ftp server. I have tried using a send port to a file, but the parties will not resolve and it is using Fallback settings so I cannot set up proper validation, specifically allow leading and trailing zeros. Is there a better way to save a copy of the received EDI file.
Adding a Archiving Custom Pipeline component to the Receive Pipeline works for most scenarios.
The solution of Dijkgraaf (archiving pipeline component) makes a lot of sense, but just to provide you with other options:
The EDI files come in from somewhere. If this is a FILE or an FTP server for example, you could consider to script the archival of the file, by scripting the file move from the incoming folder to a folder where BizTalk is listening to. At that point it is very easy to make an extra copy of the original file before BizTalk is actually even seeing this. This can be done by a Scheduled Task or by BizTalk itself (PassThru pipelines).
Typically, it's not a bad design to separate your incoming folder from the folder where BizTalk will pick it up. This mostly depends on your own preferences. Do consider however that your BizTalk Server is often monitored and logged and your external scripts/scheduled tasks are not.
In that case I always tend to choose for the BizTalk 'PassThru' solution, since if this fails, you will be notified via the event log.
Before doing any custom work, take some to see if any of the built it BizTalk features can satisfy your requirement. There are two features specifically that address your situation:
EDI and AS2 Status Reporting - Stores incoming and outgoing EDI transactions and interchanges with their delivery status (997). The UI is built into BizTalk Administrator. Details here: EDI and AS2 Status Reporting
BizTalk Tracking: Can store any incoming or outgoing message. The search and retrieve UI is also part of BizTalk Administrator. Sample of how to use Tracking to archive messages: BizTalk Archiving, The BizTalk Way
Finally, you can consider a fully out-of-band solution by saving copies of the files before they even get to your BizTalk app.

InternetSetOption deletes my registry value - AutoConfigURL

I am settings proxy pac file using c#,
I understand that I need to set values in
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings
and in
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\AutoConfigUrl
And then call
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
My problem is that after I call the InternetSetOption I see that the AutoConfigUrl is deleted, and the pac file is not set.
Anyone knows why it is deleted? and what can I do to set it correctly?
EDIT:
Just found out that this is only happening on pc's with IE8 on them... still no idea why, or how to solve it
Thank you, Ron
This issue may occur because IE8:
InternetSetOption fills in the same information included in the Proxy Server => Advanced section of the Internet Explorer Options interface.
The AutoConfigURL fills in the same information included in the Automatic Configuration section of the Internet Explorer Options interface.
These settings are mutually exclusive in the UI, so they are mutually exclusive in the registry. Setting one automatically clears the other. Set the proxy declaratively or imperatively, not both.
References
How to programmatically query and set proxy settings under Internet Explorer
WinInet Option Flags
Understanding Web Proxy Configuration
Internet Explorer 9 can't access the web or a corporate network when you try to connect through a different network

CRM 2011 multiple host names

Is it possible/supported to have a CRM 2011 host work with two different host names? We have tried this, but not everything works perfectly.
Example:
A server with server name "app1".
An AD/DNS entry pointing the host name "crm" to "app1".
When users navigates to "crm" the requests work 99% of the time, but a few internal javascripts in CRM targets the original "app1" server. For example a request from normal edit forms that retrieves the roles. The javascript variable called "*SERVER_NAME*" always has value of "app1", no matter the request URL. A cross-server warning might appear or the functionality may just silently fail.
This also happens when accessing the FQDN of the server, so "app1.mydomain.com" still produces the same result and failing/warning functionality.
I imagine this would be a similar problem when dealing with load balanced installations? How do they handle this? I.e. they target host name X and can get host name Y or Z.
Edit: I've understood that this may be called "domain alias" or "host alias" since it is an active directory entry.
You cannot have multiple hostnames for the CRM system.
You have to specify an address which is used by the CRM system itself, for scripts like you have seen. But it is also used for the Discovery mechanisms.
Multiple bindings in IIS are not supported due to a limitation with the web service endpoint
Open the deployment manager on the CRM server.
Go to Actions -> Properties -> Addresses
Adjust the stated addresses to the one which you use to access the CRM system. These settings are important for the CRM to define its "identity".
If you have configured IFD you configure an additional external identity.
By the way. Depending on your environment it might be necessary to set an SPN. See http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for-kerberos-authentication-with-iis-7-0.aspx
Regarding NLB: http://technet.microsoft.com/en-us/library/hh699803.aspx
Daniel Cai seems to have a good way round the problem of getServerURL returning the value held in deployment manager rather than the calling page URL when you have different names used. He has come up with a replacement function:
CRM 2011: Get the Right Server URL in Your CRM Client
This looks like it works for all scenarios with Outlook offline client as well as online browser.

Do I need to do anything different with the client or is it a server setting that needs modification?

I have a Flex based application which is using Flash Media Server (FMS) server (version 4.0) for live video streaming between two users (i.e. a one to one teleconferencing service). This streaming is one-to-one, as defined by business rules, so that no third person can join a teleconference. Either person can start the video stream via a browser-based Flex client and communication gets established once the second user joins. Validation for connecting the streams of the two users is implemented on the FMS server (as server side scripting defined in main.asc). I am facing three critical problems with our teleconferencing solution.
1.Often times, full communication can not be established between the two users. One user can not usually see or hear the other user. There is a client side 'refresh' button that when clicked, attempts to establish a connection via the server side script. This sometimes works. Before implementing our current server side script, I tried establishing a stream by using methods found here: http://forums.adobe.com/thread/905613
I think the method below may work as it would give me an array of subscribers to the stream.
getLiveStreamStats(appInst:String, stream:String) : Object
But the problem is that server returns the following:
<level>error</level>
<code>Admin.API.MethodNotAllowed</code>
<description>getlivestreams - Method not allowed!</description>
<timestamp>8/7/2012 10:05:38 AM</timestamp>
Question - Do I need to do anything different with the client or is it a server setting that needs modification?
You didn't specify if you were making the remote calls using HTTP or RMTP. If you're using RMTP you shouldn't have to do anything. If you're using HTTP you will need to modify the following files:
{Flash/Adobe Media Server Root}\conf\AMS.ini (or FMS.ini if you're on an older version)
{Flash/Adobe Media Server Root}\conf\Users.xml
In the first, you will need to set the USERS.HTTPCOMMAND_ALLOW option to true. In my version of the AMS.ini file it is at the very bottom of the configuration page.
In the Users.xml file, you will need to locate the block. In my version, this is also located towards the bottom of the page. The default install of Adobe Media Server 5 (in my case anyways) only allowed the "ping" method and all other methods were disallowed. You will either need to update that block to reflect a comma-delimited list of the methods you want to make accessible via HTTP (white listing) or allow all and deny none (I wouldn't recommend that).
Don't rely on a soft restart of the Adobe/Flash Media Server via the web based Administration Console. This did not work for me. I needed to restart the AMS service from within the Windows Services panel in order for the changes made in the configuration files to take effect.
I hope that this helps!
Rick

Resources